javascript - jQuery,查找触发事件元素的选择器

标签 javascript jquery node.js jquery-selectors

我正在开发一个相当轻量级的实时应用程序。

我们使用 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/

相关文章:

Javascript - 解析 JSON,包括 int 作为对象

javascript - 如何动态更改 anchor 标记链接?

javascript - 如何在运行另一个 javascript 时在 ajax 中执行 mousedown - Jquery

jquery - 使用jquery hasClass方法时如何获取div的id?

javascript - jQuery 如何在内容更改后获取 div 的高度

javascript - 在事件处理程序中读写全局变量 : when is concurrency an issue ?

node.js - Count 方法在环回中与 where 子句一起使用时会引发语法错误

javascript - 按钮 onclick 未重定向到正确的 URL

javascript - 如何在React js中找出带有键的数组元素

node.js - Quill.js 和 zombie .js