javascript - 选择器上的 Jquery 单击事件返回子作为目标

标签 javascript jquery html

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

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

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

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

    console.log(e.target.id);

});

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

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

谢谢你的帮助

最佳答案

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

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

演示:Fiddle

关于javascript - 选择器上的 Jquery 单击事件返回子作为目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19454769/

相关文章:

javascript - 如何在不使用 if then 或 case switch [javascript] 的情况下访问对象

javascript - 从头开始在 NodeJs 中编写 JSON 验证

javascript - 根据属性中的值显示/隐藏多个 div

jQuery Qaptcha : do you think that this Captcha System is easily hackable?

android - phone gap 返回键控制

javascript - 是否可以同时点击 div1 和 div2,而 div2 正在叠加?

javascript - 为什么 Controller 中的数组赋值会破坏 Angular 代码?

jquery - 使用 jQuery 选择空文本输入

JQuery toggleClass 没有切换我的类并折叠 div 宽度

javascript - 为什么这个字符串属性有效?