mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23:28 +00:00
actually dispatch click
This commit is contained in:
@@ -451,13 +451,14 @@ pub const Page = struct {
|
|||||||
|
|
||||||
const event = try parser.mouseEventCreate();
|
const event = try parser.mouseEventCreate();
|
||||||
defer parser.mouseEventDestroy(event);
|
defer parser.mouseEventDestroy(event);
|
||||||
|
|
||||||
try parser.mouseEventInit(event, "click", .{
|
try parser.mouseEventInit(event, "click", .{
|
||||||
.bubbles = true,
|
.bubbles = true,
|
||||||
.cancelable = true,
|
.cancelable = true,
|
||||||
.x = me.x,
|
.x = me.x,
|
||||||
.y = me.y,
|
.y = me.y,
|
||||||
});
|
});
|
||||||
|
_ = try parser.elementDispatchEvent(element, @ptrCast(event));
|
||||||
|
|
||||||
if ((try parser.mouseEventDefaultPrevented(event)) == true) {
|
if ((try parser.mouseEventDefaultPrevented(event)) == true) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -802,18 +802,9 @@ pub fn eventTargetDispatchEvent(et: *EventTarget, event: *Event) !bool {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
const DispatchOpts = struct {
|
pub fn elementDispatchEvent(element: *Element, event: *Event) !bool {
|
||||||
type: []const u8,
|
const et: *EventTarget = toEventTarget(Element, element);
|
||||||
bubbles: bool = true,
|
return eventTargetDispatchEvent(et, @ptrCast(event));
|
||||||
cancelable: bool = true,
|
|
||||||
};
|
|
||||||
pub fn elementDispatchEvent(element: *Element, opts: DispatchOpts) !bool {
|
|
||||||
const event = try eventCreate();
|
|
||||||
defer eventDestroy(event);
|
|
||||||
try eventInit(event, opts.type, .{ .bubbles = opts.bubbles, .cancelable = opts.cancelable });
|
|
||||||
|
|
||||||
const et: *EventTarget = @ptrCast(element);
|
|
||||||
return eventTargetDispatchEvent(et, event);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn eventTargetTBaseFieldName(comptime T: type) ?[]const u8 {
|
pub fn eventTargetTBaseFieldName(comptime T: type) ?[]const u8 {
|
||||||
|
|||||||
Reference in New Issue
Block a user