jQuery.on()自我和孩子
问题描述:
jQuery中的.on()
方法将在匹配的元素上匹配,如果没有提供选择器,或者只有它的孩子,如果ther是选择器。jQuery.on()自我和孩子
是否有可能将这两个行为组合起来,并最终生成一个与该元素和任何指定子元素都匹配的.on()语句?
答
你可以简单的事件处理程序绑定到家长和使用event.target
[docs]到事件的得到实际的目标元素:
$('.foo').on('click', function(event) {
console.log('click', event.target);
});
由于事件冒泡(这是怎么事件代表团首先工作),每次点击.foo
后裔将触发事件处理程序.foo
(除非事件当然以某种方式停止)。
答
默认情况下,事件冒泡。只要避免传递一个委托selector
并附加事件处理程序的父。当孩子们被点击时,事件应该冒泡给父母,事件将被解雇。
DEMO:http://jsfiddle.net/YFF2k/2/
$('.foo').on('click', function (e) {
console.log('click', e.target);
});
答
你可以尝试这样的:
$('.foo').children().andSelf().on('click', function (event){
//something
});