javascript - 两个 jQuery 选择器有什么区别?

标签 javascript jquery jquery-selectors event-binding

我见过这两种将点击事件绑定(bind)到元素的不同方式,但我不明白其中的区别。

$('#cool-thing').on('click', function() {
  alert('This works!');
});

$(document).on('click', '#cool-thing', function() {
  alert('This works!');
});

当点击 #cool-thing 元素时,它们都会产生警报,那么两者之间是否存在显着差异,或者只是做同样事情的方式不同?

最佳答案

第二个选项是事件委托(delegate),当附加事件时,#cool-thing 可能不存在于 DOM 中,但可以动态附加到 document 在当前浏览 session 期间。 #cool-thing 父元素也可以使用。

第一个选项是 #cool-thingDOM 中的位置。

关于javascript - 两个 jQuery 选择器有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34938496/

相关文章:

jquery - 为什么这个 jQuery 选择器不起作用?

javascript - Redux 不会立即更新状态

javascript - 如何在 Mobx 中将多个商店合并为 Root Store 并在彼此的字段和功能中进行访问

javascript - 异步等待 Jquery ajax 回调?

jquery - .css() 直到第二次单击才更改 - 使用共享类选择器

javascript - 这个选择器之间有什么区别吗

javascript - 如何从 jquery datepicker 中获取选定的日期

javascript - node.js 中是否存在超时事件的通用机制?

javascript - 有没有办法在 jquery 中到达 parent 的 sibling ?

javascript - Chartist 总是留有间距?