假设我们有一个这样的 HTML 结构
<div id="container">
<div id="nested">
<span id="someElement"></span>
</div>
</div>
...我们的目标是#container
唯一的事件监听器!所以,我们绑定一个监听器(jQuery 代码)
$("#container").on('click', function(event) {
alert("container was clicked");
});
这当然可行,但我对这种方法的问题是,由于事件通常会冒泡,如果我们实际单击#nested
或,该侦听器也会触发#someElement
。我目前仅在单击时处理单击的解决方案#container
是this
与event.target
$("#container").on('click', function(event) {
if(this === event.target) {
alert("container was clicked");
}
});
我的问题:这被认为是“最佳实践”吗?jQuery 有没有更好的方法来实现“开箱即用”的相同结果?
实例:http: //jsfiddle.net/FKX7p/