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

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

は次の省略形です。

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

ここを見てください:http://api.jquery.com/hover/

hover() イベントには、マウスが要素の上にあるときのメソッドと、そうでないときのメソッドがあります。

于 2012-04-06T23:38:11.397 に答える