9

我正在使用 jQuery 尝试绑定一些新加载<li>的元素,.hover()但我有点卡住了。目前我正在<ul>使用 ajax 重新加载内容,并且.hover();<li>. 悬停事件当然适用于非 ajax 加载的内容。

我知道我可以使用mouseover/mouseout来绑定事件,如果您将鼠标悬停绑定到的当前元素的子元素悬停在/不习惯打破事件的情况下,.live();这是一个很好的解决方案。所以我使用的原因是因为我可以自由地悬停我的悬停绑定元素的子元素,而不会取消事件。mouseovermouseout.hover();

bind();似乎也根本不起作用,所以我的问题是.. 尝试<li>绑定 ajax 加载事件并将悬停效果保持为悬停儿童问题其他一些如何?hover();mouseovermouseoutlive();

成功讯息:

success: function(data){ 
           $('ul#list').bind().append("<li>test test</li>");
         }
4

1 回答 1

8

bind 像这样工作。例如

$('#list').bind('mouseover', function(){})

但是我认为您需要做的只是在文档首次加载时调用用于绑定事件的相同函数。如果这是在文档就绪块内,则将其提取到一个函数中,然后在文档就绪和 ajax 成功事件中调用相同的函数。

例如

$(document).ready( function(){

   bindHover( $('#list>li') )

   $.ajax({ success: function(data){
                         bindHover( data.find('li') );
                     },
            url: bla
   });

})

function bindHover($liList){
  $liList.hover( fn, fn )
}
于 2009-06-25T11:34:53.187 回答