2013-05-06 82 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"); 
});