jQuery:事件附加到按钮,但触发Chrome中按钮内的图像元素

时间:2014-10-23 21:50:23

标签: javascript jquery

我有这样的按钮形式:

<button class="delete-file-btn" "><img src="/img/del.png"/></button>

然后我通过jQuery附加事件:

$('#Form').on('click', 'button.delete-file-btn', function(e) {
    // Some code here
});

当我按下Crome中的按钮时,e.target指向img元素,但不是按钮。事件分配有什么问题?在FF中一切正常。

2 个答案:

答案 0 :(得分:0)

不确定这是否相关..但是您的<button/>标记中显示额外的引号(“)。这可能会丢掉Chrome而不是FF。

我刚刚对此进行了测试(JSFiddle),通过查看控制台日志,我确实将button.delete-file-btn视为currentTarget

答案 1 :(得分:0)

e.target指的是您点击的最具体元素,即您定位的元素。该事件被触发,因为您的目标是您附加click的元素的子项。使用this来引用您在事件处理程序上附加的元素。

当我尝试你的例子时,我确实将图像作为e.target,也在firefox中。

我希望这会帮助你!