Javascript Jquery在表行上添加click事件,但在按该行中的特定元素时不调用它
我有一个html表,我已经在它的所有行中添加了一个单击事件。 在每一行中,我都有一个输入字段,当单击它时,我不希望它触发该行的click事件,但它确实触发了 我试过这样的方法:Javascript Jquery在表行上添加click事件,但在按该行中的特定元素时不调用它,javascript,jquery,html,Javascript,Jquery,Html,我有一个html表,我已经在它的所有行中添加了一个单击事件。 在每一行中,我都有一个输入字段,当单击它时,我不希望它触发该行的click事件,但它确实触发了 我试过这样的方法: $("#copyFromDocsTable > tbody > tr:not(.copyDocQty)").live("click" ,function(){...}); 其中,copyFromDocsTable是表的名称,copyDocQuantity是我为所有输入指定的类名。向输入字段添加一个事件句柄,
$("#copyFromDocsTable > tbody > tr:not(.copyDocQty)").live("click" ,function(){...});
其中,
copyFromDocsTable
是表的名称,copyDocQuantity
是我为所有输入指定的类名。向输入字段添加一个事件句柄,并对事件调用.stopPropagation()
$('.copyDocQty').click(function(e) {
e.stopPropagation();
});
如果使用javascript构建表,则应使用事件委派:
$('.myRow').on('click', '.copyDocQty', function(e) {
e.stopPropagation();
});
我正在使用一个示例类名和输入选择器,您必须对其进行调整。在使用它之后,我发现了一些有用的东西
$("#copyFromDocsTable > tbody > tr").live("click" ,function(e){
if (!$(e.target).closest('.copyDocQty').length) {...}});
您应该在输入字段上添加另一个事件处理程序并停止传播 选中此项:
$(document).ready(function() {
$("#myTable").on("click", function(evt){
alert('table clicked!');
})
$(".my-input","#myTable").on("click", function(evt){
evt.stopPropagation();
})
});
请同时发布您的html标记谢谢,我找到了一个有效的解决方案,但也将尝试您的解决方案:)