我正在创建一个插件并遇到了一些问题:
在案件中:
我有一个由ajax加载创建的非列表列表。例如:
<ul id='ulist'>
<li>list 1</li>
<li>list 2</li>
<li>list 3</li>
</ul>
然后 li绑定并加载悬停事件。如:
$('ul').bind('hover',function(){});
但是我的插件有一个功能,可以动态地将新的li项添加到已经加载的ul [id ='ulist'] 。并且新的li 没有得到悬停事件绑定。例如:
addNewLi : function(){
$('<li />').html('item N').appendTo('#ulist');
}
所以,我知道我应该通过'live'绑定新动态创建的元素,但我不知道放在哪里或有其他方式....
非常感谢!!
答案 0 :(得分:1)
您无法在hover
或live
中使用delegate
的双重处理程序功能。我认为,该功能是针对jQuery 1.5计划的。
但是,hover
实际上只是两个事件mouseenter
和mouseleave
的快捷方式,因此使用这些事件模拟功能实际上很容易。
使用delegate
的示例:
$('#ulist').delegate('li', 'mouseenter', function() {
// code for mouseenter
}).delegate('li', 'mouseleave', function() {
// code for mouseleave
});