jquery:用ajax加载的内容绑定悬停事件
我正在使用jQuery尝试用jquery:用ajax加载的内容绑定悬停事件,jquery,hover,Jquery,Hover,我正在使用jQuery尝试用.hover()绑定一些新加载的元素,我有点卡住了。目前,我正在使用ajax重新加载中的内容,并且有一个带有.hover()的悬停事件在上。当然,hover事件在非ajax加载的内容上非常有效 我知道我可以使用mouseover/mouseout将事件绑定到.live()如果不是因为mouseover/mouseout坏习惯,如果将鼠标悬停在当前绑定到的元素的子元素上,这是一个很好的解决方案。所以我之所以使用.hover()是因为我可以在不取消事件的情况下自由悬停我的
.hover()
绑定一些新加载的
元素,我有点卡住了。目前,我正在使用ajax重新加载
中的内容,并且有一个带有.hover()的悬停事件代码>在
上。当然,hover事件在非ajax加载的内容上非常有效
我知道我可以使用mouseover
/mouseout
将事件绑定到.live()
如果不是因为mouseover
/mouseout
坏习惯,如果将鼠标悬停在当前绑定到的元素的子元素上,这是一个很好的解决方案。所以我之所以使用.hover()代码>是因为我可以在不取消事件的情况下自由悬停我的悬停绑定元素的子元素
bind()代码>似乎也不起作用,所以我的问题是。。尝试将ajax加载
事件绑定并将悬停效果保持为悬停()有什么用
,还是我应该翻滚过来,用live()使用mouseover
/mouseout
并尝试解决悬停子问题其他方法如何
成功信息:
成功:函数(数据){
$('ul#list').bind().append('li>test test);
}
绑定的工作原理类似于。
e、 g
然而,我认为您需要做的只是调用在文档首次加载时用于绑定事件的相同函数。如果它在一个documentready块中,那么将它提取到一个函数中,并在docready和ajax成功事件中调用相同的函数
e、 g
你能在ajax成功事件中展示你是如何重新绑定的吗?好的,那么我在函数(){}中放了什么;,我只希望我新添加的ajax元素响应hover()事件。ok更改了上面的内容,以显示如何只将新的li元素传递给bindHover函数,因此现有的li元素不会获得重复的事件处理程序
success: function(data){
$('ul#list').bind().append("<li>test test</li>");
}
$('#list').bind('mouseover', function(){})
$(document).ready( function(){
bindHover( $('#list>li') )
$.ajax({ success: function(data){
bindHover( data.find('li') );
},
url: bla
});
})
function bindHover($liList){
$liList.hover( fn, fn )
}