0

我有一些 jQuery 效果(slideUp()等)可以正常工作。

现在我.load()setTimeout那里的 div 之后,效果不再起作用。

.load()这是因为在我推测之前 div 并不存在。

效果和效果.load()都在同一个JS文件中,并且都被包裹在jQuery(document).ready(function($) { /*They are here*/ });

.load()在'ed in之后,如何在这些 div 上调用这些效果?

4

1 回答 1

1

由于您没有发布设置 .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 可以处理委派。我的意思是尝试帮助您理解为什么不应用这些事件

于 2012-08-25T01:19:47.263 回答