2012-12-13 86 views
0

我已經基於在文本框中輸入的值單擊事件創建了div。點擊事件動態Divs不工作

An Example Here

當您打開頁面,點擊任何行,你會得到一個警告。但是當您更改文本框(輸入數字)中的值並點擊加載按鈕時,將根據輸入的數字加載行。現在

當你點擊任何行,單擊事件不起作用.....

在這方面的任何幫助,高度讚賞..........

+0

顯示有問題的JS代碼會很有幫助。 – Blender

+0

我認爲HTML應該是jsFiddle的鏈接。轉到鏈接,你可以看到代碼。 – Luke

回答

2

您需要live函數。

$(".schoolselect").live("click", function() { 

在這裏看到:http://jsfiddle.net/27Z3t/

+0

讓我補充一點,對於mouseenter事件也是如此,只是爲了防範:) –

+0

在發佈初始提琴後,我注意到了mouseover/mouseout事件。我爲最新鏈接中的這兩個人添加了現場直播。 – Samsquanch

1

$('.schoolselect')您單擊處理程序僅連接一次加載頁面時。這不是live jQuery event,但該技術已被棄用,以支持代表模型。

您可以附加一個委託給$('#divHSSchoolResultTable')來處理點擊;

$('#divHSSchoolResultTable').delegate('.schoolselect', 'click', function() { alert(); }); 

查看jQuery delegate瞭解更多詳情。

+1

實際上「從jQuery 1.7開始,.delegate()已經被.on()方法所取代,但對於早期版本,它仍然是使用事件委託的最有效手段。」 –

+0

@Mario事件處理程序僅綁定到當前選定的元素;它們必須在代碼調用.on()時存在於頁面上。如果將新的HTML注入頁面,請在將新的HTML放入頁面後選擇元素並附加事件處理程序。或者,使用委託事件來附加事件處理程序。 –

+0

不是我對你剛纔所說的有爭議,但是,爲什麼jQuery團隊決定改變.on()方法的.delegate()方法? (我其實很好奇) –