2013-05-06 47 views
0

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

看起来,单击“删除单元格”或“打开助手”应该触发其中一个处理程序,但没有任何反应。开放助手td有两个机会发射一个处理程序,一次为它所在的行,一次为它所在的td。

有没有人看到问题?

谢谢。

的的jsfiddle是完全清楚,但该论坛希望的代码,如果有一个环节的jsfiddle,所以在这里:

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

回答

3

jQuery的on没有出台,直到1.7版本,而你的提琴来源1.6.2。 See the docs

如果您更改版本1.7+的jQuery,则可以使用tr.deleteCell的点击处理程序。

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

+0

感谢。对我来说真正的问题是选择器前面的小点。我的代码实际上使用jQuery 1.91。这是我为演示修改的老jsfiddle。非常感谢你和PSL下面的答案。 – Steve 2013-05-06 02:24:24

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的版本,你应该去live或只是click事件

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"); 
});