jQuery mouseout到<ul> </ul>以外的任何东西

时间:2011-12-23 03:50:06

标签: javascript jquery

所以我创建了自己的右键单击上下文菜单,当您将鼠标悬停在右键菜单上时,我在右键菜单上有可扩展选项。如果鼠标离开右键菜单,我希望关闭展开的菜单,因此我使用了以下代码:

    $('ul').live('mouseout', function(event) {
    // close code here
});

但问题是每当我将鼠标移动到任何<li>元素上时都会调用事件。

怎么做???

3 个答案:

答案 0 :(得分:0)

$('ul')

这意味着所有ul元素。也许你可以给它一个班级(或一个id)并做

$('ul.theClass')

或者

$('#ulId')

答案 1 :(得分:0)

您可能希望将代码更改为不将'ul'绑定到mouseout,因为'ul'标记会包装'li'标记,否则您执行的任何操作都无法使用。

解决方法是将菜单选项标题更改为div或其他内容,同时将菜单选项保留为'ul''li'标记

答案 2 :(得分:0)

你应该试着尝试任何一个

 $('ul li.classnameforli').bind('mouseout','mouseleave' function(event) {
    // close code here
});

或者

 $('ul li.classnameforli').live('mouseout' function(event) {
    // close code here
});