2016-08-12 55 views
0

我有一個iframe,並且上面有一個ul列表,根據我選擇的內容更改div的內容。點擊ul> li只能工作第一次

我需要獲取點擊功能,當用戶選擇列表中的任何元素時做某事,但它只在第一次工作。

$("#____bl_k_dd").on("click", "li", function(){ 
    alert("I work") 
}); 

我試過不同的功能。還有一個我嘗試過。

$("#____bl_k_dd li").click(function() { 
    alert("I work") 
}); 

它只有第一次,然後如果我再次點擊ul列表沒有警報。

編輯。

表示ul的ID不變,表示始終相同。

+1

嘗試'$(文件)。在( '點擊', '#____bl_k_dd禮',函數(){'。 – Tushar

+0

你的iframe代碼裏面呢? –

+0

是的,它的iframe – grec0o

回答

1

如果#____bl_k_dd被移除和替換當內容發生變化,你應該勾你的點擊身體代替,像這樣:

$("body").on("click", "#____bl_k_dd li", function(){ 
    alert("I work") 
}); 
+0

沒有內工作,也謝謝。 – grec0o

0

這很奇怪,因爲給定的代碼工作,你可以檢查此fiddle

$("#____bl_k_dd").on("click", "li", function(){ 
     alert("I work"); 
    }); 

從jQuery的文檔:

事件HANDL ers僅與當前選定的元素綁定;它們必須在您的代碼調用.on()時存在。爲確保元素存在且可以選擇,請將腳本放在HTML標記中的元素之後,或者在文檔就緒處理程序中執行事件綁定。或者,使用委託事件來附加事件處理程序。