2016-09-21 46 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

相关问题