2016-09-21 51 views
-3

我想爲什麼jQuery不適用於在Ajax成功中創建的新元素。其中一個原因可能是jquery和支持js文件已在加載頁面時加載。 如何解決這個問題。 有什麼辦法再次加載jQuery和支持文件。爲什麼jQuery不能用於Ajax成功創建的新元素?

+0

您是否嘗試使用任何插件初始化。 – Sasikumar

+1

這個問題太廣泛了。發佈您的代碼,以便我們可以分析它。 –

+2

您最好發佈不工作的代碼示例。 –

回答

0

使用event delegation通過Ajax響應https://learn.jquery.com/events/event-delegation/創建的所有元素,egarding您需要任何特定的插件初始化(重新)在你的Ajax調用成功函數初始化插件/ S/S

+1

這可能是答案,但如果問題是關於任何特定的插件初始化,那麼該怎麼辦?!...而你的'唯一鏈接答案'應該是最好的評論 –

0

假設你」再沒有談論任何插件,如果你想與動態創建的元素,您應該使用$(document).on('event', 'selector', func(){})代替$('#id').on('event', func(){})

例子:

這不會工作動態根兒ated元素:

$('input').keyup(function() { 
    for (var i = 0; i < triggerWords.length; i++) { 
     if ($(this).val().toLowerCase().indexOf(triggerWords[i]) != -1) { 
      alert("Alert! You've typed a blocked word."); 
     } 
    } 
}); 

demo

但這:

$(document).on('keyup', 'input', function() { 
    for (var i = 0; i < triggerWords.length; i++) { 
     if ($(this).val().toLowerCase().indexOf(triggerWords[i]) != -1) { 
      alert("Alert! You've typed a blocked word."); 
     } 
    } 
}); 

demo

相關問題