1

我有一个上下文菜单,当您右键单击时会显示在某些元素上。这没问题。

wrapper.on('contextmenu', 'div.outer', function (e) {        
    context_menu.css({
        left: e.pageX,
        top: e.pageY,
        zIndex: '101'
     }).fadeIn();
     return false;
});

//This does not work correctly
context_menu.mouseout(function (e) {
    $(this).fadeOut();
});

我试图弄清楚当用户没有将鼠标悬停在菜单上时如何隐藏菜单。现在,只要我在右键单击后移动鼠标,它就会淡出。

4

3 回答 3

1

这些事件很可能是mouseleave因为它是一个容器。

context_menu.mouseleave(function (e) {
    $(this).fadeOut();
});
于 2012-04-06T23:54:26.797 回答
0

看这里:http ://api.jquery.com/hover/

hover() 事件有一种方法用于鼠标悬停在元素上,另一种用于鼠标不在元素上。

于 2012-04-06T23:38:11.397 回答
0

$(selector).hover(handlerIn, handlerOut);

是以下的简写:

$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
于 2012-04-07T02:53:24.073 回答