[英]script not working on Ajax-loaded Content
我有一個jquery驅動的投票系統,其他頁面上的項目是通過ajax加載的,但是在加載ajax的內容上,jquery投票需要刷新頁面以便進行投票處理。
我認為問題是在這個文件中的行為(?)但我不是很確定。 我沒有任何代碼可以啟動,因為我甚至不知道從哪里開始。 我該如何解決這個問題?
似乎您正在使用SmartAjax加載頁面內容。 SmartAjax的作用是更改頁面URL(使用pushState或hash),加載數據並用加載的內容替換#posts div的內容。
問題是您正在偵聽來自DOM元素的單擊事件,這些事件稍后會被刪除並替換為新的DOM元素。 因此,不會偵聽來自ajax加載內容的單擊事件。 live()
在這種情況下無濟於事。
要解決此問題,您至少有以下兩個選項:
1)使用jQuery的delegate()
附加處理程序並使用#posts div作為根元素,因為它在加載新內容后仍然存在。
這樣的事情應該有效:
$('#posts').delegate(':input', 'click', function() {
var value = $(this).val();
alert('You have clicked thumbs up/down, value: ' + value);
return false;
});
2)在數據加載完成后,向加載的項添加單擊偵聽器。
注意:啟動jQuery 1.7你應該使用on()
而不是delegate()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.