将中断连接到表格元素

时间:2013-05-06 00:31:23

标签: jquery

我遇到here连接中断到表格元素的问题。

似乎点击"删除单元格"或者"打开帮手"应该解雇其中一个处理程序,但没有任何反应。 Open helper td有两个机会来触发一个处理程序,一次是它所在的行,一次是它所在的行。

有没有人看到这个问题?

感谢。

jsfiddle非常清楚,但如果有一个jsfiddle链接,论坛需要代码,所以这里:

$(document).on('click','tr.deleteCell', function(event) {
  alert("deleting cell");
});

2 个答案:

答案 0 :(得分:3)

jQuery on直到版本1.7才被引入,而你的小提琴来源1.6.2。 See the docs

如果您更改版本1.7+的jQuery,tr.deleteCell的点击处理程序将起作用。

其他两个处理程序应用不正确。他们都看.td,这是一个类“td”的元素,不一定是td元素。

答案 1 :(得分:2)

您需要升级Jquery以支持on。除此之外还有一些选择问题。

Demo

.tr.openHelper在tr前面不需要一个点,与.td.openh

类似

如果您升级jquery,这应该可以。

$(document).on('click', 'tr.deleteCell', function (event) {
    alert("deleting cell");
});

$(document).on('click', 'tr.openHelper', function (event) {
    alert("opening helper");
});

$(document).on('click', 'td.openh', function (event) {
    alert("opening helper from td");
});

使用您的jquery版本,您应该使用liveclick事件

Demo

$('tr.deleteCell').live('click',function (event) {
    alert("deleting cell");
});

$('tr.openHelper').live('click',  function (event) {
    alert("opening helper");
});

$('td.openh').live('click', function (event) {
    alert("opening helper from td");
});