2

我试图用来.on()告诉我我在一个区域内点击了什么。为了捕捉我点击的确切元素,我打电话event.stopPropagation()以防止它冒泡,但我的输出始终是#containerDiv它的内容。

我怎样才能确切地看到里面点击了什么#containerDiv?代码片段如下:

$("#containerDiv").on("click",function(event){
    event.stopPropagation();
    console.log($(this));
});
4

3 回答 3

5

使用event.target,而不是$(this);后者将始终是处理程序被分配到的元素。

于 2012-04-28T15:26:45.087 回答
5

当您在容器上捕获事件时,该事件已经冒泡了。

于 2012-04-28T15:27:32.443 回答
2

尝试给on()方法 a selector

$("#containerDiv").on("click", "*", function(event){
    event.stopPropagation();
    console.log($(this));
});

演示:http: //jsfiddle.net/SnPjS/2/

于 2012-04-28T15:31:17.580 回答