使用jQuery的通配符委派

时间:2012-08-26 04:27:10

标签: javascript jquery

我希望某个事件能够被具有适当上下文的任何元素触发。现在我正在这样做:

$(document.body).on('mycustomevent', '*', function(e) {
  e.stopPropagation()
  console.log('mycustomevent')
  console.log(this)
}

这有什么问题吗?还有更好的方法吗?

另一个相关的问题是如何为未附加到文档的元素触发此事件?即:

$('<div></div>').trigger('mycustomevent')

1 个答案:

答案 0 :(得分:0)

对于第一部分,我会改为使用$(document).on

对于第二部分,只需将事件处理程序附加到元素本身。

$('<div></div>').on('mycustomevent', function(e) {
    e.stopPropagation()
    console.log('mycustomevent')
    console.log(this)
}).trigger('mycustomevent')