我正在开发一个相当轻量级的实时应用程序。
我们使用 jQuery 的事件系统在应用程序中的模块之间进行通信。因此,在 DOM 中进行的所有更改(影响模块外部的任何内容)都必须通过事件来实现。
这些事件由客户端 socket.io 实现捕获,该实现要求 Nodejs socket.io 服务器将事件广播给所有其他客户端。
我的问题: 有没有办法找出触发事件的选择器?所以如果我打电话
$("tag.class").trigger("myevent");
我可以做
$(document).on("myevent", function() {
console.log(this.selector)
});
它会打印“tag.class”
这很有趣,因为知道用户在选择上触发了特定事件,而不是在许多元素上触发了特定事件(之后可能会显得相当随机),这会很有趣。
我已阅读this question但我希望能够获得应用程序中触发的所有事件的选择器。
感谢您的宝贵时间:)
最佳答案
从链接的答案中汲取灵感,您可以覆盖 jQuery trigger
函数。类似于:
$.fn.origTrigger = $.fn.trigger;
$.fn.trigger = function (fn) {
var selector = this.selector;
this.origTrigger(function (ev) {
fn(ev, selector);
});
};
关于javascript - jQuery,查找触发事件元素的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12858545/