如果没有提供选择器,jQuery中的.on()
方法将匹配匹配的元素,或者仅当它是选择器时才会匹配它的子元素。
是否可以将这两种行为结合起来,最终得到一个与元素和任何指定子元素都匹配的.on()语句?
答案 0 :(得分:2)
您可以简单地将事件处理程序绑定到父级,并使用event.target
[docs]来获取事件的实际目标元素:
$('.foo').on('click', function(event) {
console.log('click', event.target);
});
由于事件冒出来(这就是事件委托的首要工作方式),每次点击.foo
的后代都会触发.foo
的事件处理程序(除非事件以某种方式停止了当然)。
答案 1 :(得分:0)
默认情况下,事件正在冒泡。只是避免传递委托selector
并在父节点上附加事件处理程序。当孩子被点击时,事件应该冒泡到父母,事件将被解雇。
DEMO:http://jsfiddle.net/YFF2k/2/
$('.foo').on('click', function (e) {
console.log('click', e.target);
});
答案 2 :(得分:0)
$('.foo').children().andSelf().on('click', function (event){
//something
});