diff --git a/src/browser/dom/event_target.zig b/src/browser/dom/event_target.zig index 79881daf..fb21d424 100644 --- a/src/browser/dom/event_target.zig +++ b/src/browser/dom/event_target.zig @@ -114,7 +114,7 @@ pub const EventTarget = struct { pub fn _removeEventListener( self: *parser.EventTarget, typ: []const u8, - cbk: Env.Function, + listener: EventHandler.Listener, opts_: ?RemoveEventListenerOpts, ) !void { var capture = false; @@ -125,6 +125,8 @@ pub const EventTarget = struct { }; } + const cbk = (try listener.callback(self)) orelse return; + // check if event target has already this listener const lst = try parser.eventTargetHasListener( self, @@ -266,5 +268,9 @@ test "Browser.DOM.EventTarget" { .{ "content.addEventListener('he', obj1);", null }, .{ "content.dispatchEvent(new Event('he'));", null }, .{ "obj1.calls", "1" }, + + .{ "content.removeEventListener('he', obj1);", null }, + .{ "content.dispatchEvent(new Event('he'));", null }, + .{ "obj1.calls", "1" }, }, .{}); }