选择器上的Jquery click事件将child作为目标返回

web*_*aba 11 html javascript jquery

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

<div id="cell'+i+'" class="cell emptyCell">
     <div class="handle"></div>
     <div class="content"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在使用"on"方法将类".emptyCell"的元素的"click事件"与自定义函数绑定.

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

    console.log(e.target.id);

});
Run Code Online (Sandbox Code Playgroud)

但是当用户单击.content div(emptyCell的子节点)时,它会捕获该事件,并且控制台会打印"undefined",因为.content元素在这里没有id.

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

谢谢你的帮助

Aru*_*hny 26

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

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

演示:小提琴