Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery在表行上添加click事件,但在按该行中的特定元素时不调用它_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery在表行上添加click事件,但在按该行中的特定元素时不调用它

Javascript Jquery在表行上添加click事件,但在按该行中的特定元素时不调用它,javascript,jquery,html,Javascript,Jquery,Html,我有一个html表,我已经在它的所有行中添加了一个单击事件。 在每一行中,我都有一个输入字段,当单击它时,我不希望它触发该行的click事件,但它确实触发了 我试过这样的方法: $("#copyFromDocsTable > tbody > tr:not(.copyDocQty)").live("click" ,function(){...}); 其中,copyFromDocsTable是表的名称,copyDocQuantity是我为所有输入指定的类名。向输入字段添加一个事件句柄,

我有一个html表,我已经在它的所有行中添加了一个单击事件。 在每一行中,我都有一个输入字段,当单击它时,我不希望它触发该行的click事件,但它确实触发了

我试过这样的方法:

$("#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标记谢谢,我找到了一个有效的解决方案,但也将尝试您的解决方案:)