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