我正在写一个插件来扩展on()
jQuery的功能来实现mousetrap.js
我应该从函数中获取this
并将其传递给on()
.
这是我的代码:
$.fn.superon = function (keys, myfn) {
$("body").on("click", this, function (e) {
myfn();
});
Mousetrap.bind(keys, function () {
myfn();
});
};
$.fn.superoff = function (keys) {
$("body").off(this);
Mousetrap.unbind(keys);
};
问题是,如果我使用它,事件会附加到所有元素,而不仅仅是选定的元素。
我究竟做错了什么?