12

我今天开始对 Jquery 失去理智,我查找了其他问题,但到目前为止没有任何效果。我有简单的 html 结构(在 for 循环中动态添加)。

<div id="cell'+i+'" class="cell emptyCell">
     <div class="handle"></div>
     <div class="content"></div>
</div>

我正在使用“on”方法将“.emptyCell”类元素的“单击事件”与自定义函数绑定。

$(document).on('click','.emptyCell', function(e){

    console.log(e.target.id);

});

但是当用户单击 .content div(emptyCell 的子级)时,它会捕获该事件,并且控制台会打印“未定义”,因为 .content 元素在此处没有 id。

这怎么可能呢 ?.on 函数不应该只绑定 .emptyCell 类的元素吗?

谢谢你的帮助

4

1 回答 1

27

e.target指点击发生的实际元素(它可以是handlecontent元素),如果你想引用emptyCell那么你可以使用thise.currentTarget

$(document).on('click','.emptyCell', function(e){
    console.log(this.id);
    console.log(e.currentTarget.id);
});

演示:小提琴

于 2013-10-18T16:40:51.440 回答