我有一些 jQuery 效果(slideUp()
等)可以正常工作。
现在我.load()
在setTimeout
那里的 div 之后,效果不再起作用。
.load()
这是因为在我推测之前 div 并不存在。
效果和效果.load()
都在同一个JS文件中,并且都被包裹在jQuery(document).ready(function($) { /*They are here*/ });
.load()
在'ed in之后,如何在这些 div 上调用这些效果?
由于您没有发布设置 .slideUp() 方法等的代码。我假设您有这样的事情:
$(function) () {
$('.class').slideUp(300);
$('.wrapper').load('someurl.html'); // this loads some elements with .class
// these elements won't get slideUp applied because they are not in the DOM at the time of the slideUp call
)};
您需要在负载回调中设置事件/函数:
$('#result').load('ajax/test.html', function() {
//apply events to new elements
$('.class').slideUp(300); // this would be inside a click event I'm assuming
});
或者如评论中所述......您可以(应该)使用 .on 可以处理委派。我的意思是尝试帮助您理解为什么不应用这些事件