表行和单元格单击

时间:2015-02-20 21:37:22

标签: javascript jquery user-interface

如何为表行(tr)特定和表数据(td)创建单击事件。

例如,类似这样的东西

$("table tr").on("click", function(){
      // do something with tr without td click handler
});

$("table tr td").on("click", function(){
      // do something with td without tr click handler
});

提前致谢

1 个答案:

答案 0 :(得分:2)

要将点击事件绑定到td元素,以便它不会触发父tr点击,您需要阻止事件冒泡DOM树。您应该调用事件对象的stopPropagation方法:

$("table tr td").on("click", function(e) {
    e.stopPropagation();
    // do something with td without tr click handler
});
  

使用tr执行某些操作而不使用td单击处理程序

如果在捕获阶段绑定click事件,也可以这样做(阅读event order)。为此,您需要在事件传播的冒泡阶段使用HTMLElement's addEventListener方法,jQuery $.fn.on方法绑定事件。但请注意,如果你仔细想想,这几乎没有实际意义。很可能您希望在某些特定的表格单元格点击时阻止事件在td-> tr方向冒泡。