From af3a79ab31c6a74cfe8d585c6f56cbf94f78e59c Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Mon, 20 Jul 2020 22:32:54 -0700 Subject: [PATCH] =?UTF-8?q?zjquery:=20Fix=20=E2=80=98this=E2=80=99=20param?= =?UTF-8?q?eter=20of=20invoked=20handlers.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Anders Kaseorg --- frontend_tests/zjsunit/zjquery.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/frontend_tests/zjsunit/zjquery.js b/frontend_tests/zjsunit/zjquery.js index a9416a78b6..d9f8fc2545 100644 --- a/frontend_tests/zjsunit/zjquery.js +++ b/frontend_tests/zjsunit/zjquery.js @@ -15,7 +15,7 @@ exports.make_event_store = (selector) => { const on_functions = new Map(); const child_on_functions = new Map(); - function generic_event(event_name, arg) { + function generic_event($element, event_name, arg) { if (typeof arg === "function") { on_functions.set(event_name, arg); } else { @@ -24,7 +24,7 @@ exports.make_event_store = (selector) => { const error = "Cannot find " + event_name + " handler for " + selector; throw Error(error); } - handler(arg); + handler.call($element, arg); } } @@ -104,7 +104,7 @@ exports.make_event_store = (selector) => { child_on.set(event_name, handler); }, - trigger: function (ev) { + trigger: function ($element, ev) { const ev_name = typeof ev === "string" ? ev : ev.name; const func = on_functions.get(ev_name); @@ -117,7 +117,7 @@ exports.make_event_store = (selector) => { return; } - func(ev.data); + func.call($element, ev.data); }, }; @@ -160,7 +160,7 @@ exports.make_new_elem = function (selector, opts) { return self; }, click: function (arg) { - event_store.generic_event("click", arg); + event_store.generic_event(self, "click", arg); return self; }, data: function (name, val) { @@ -264,11 +264,11 @@ exports.make_new_elem = function (selector, opts) { return focused; }, keydown: function (arg) { - event_store.generic_event("keydown", arg); + event_store.generic_event(self, "keydown", arg); return self; }, keyup: function (arg) { - event_store.generic_event("keyup", arg); + event_store.generic_event(self, "keyup", arg); return self; }, off: function (...args) { @@ -323,7 +323,7 @@ exports.make_new_elem = function (selector, opts) { return self; }, select: function (arg) { - event_store.generic_event("select", arg); + event_store.generic_event(self, "select", arg); return self; }, set_find_results: function (find_selector, jquery_object) { @@ -355,7 +355,7 @@ exports.make_new_elem = function (selector, opts) { return text; }, trigger: function (ev) { - event_store.trigger(ev); + event_store.trigger(self, ev); return self; }, val: function (...args) {