0

ここで例を作成しましたhttp://jsfiddle.net/Dgc5y/

私がやりたいことは、リンクにマウスオーバーすると、ポップアップが表示されることです。次に、このポップアップに移動して他のものをクリックすることができます。そうしないことを選択した場合、移動すると自動的に閉じます。

問題は、このポップアップ内のリンクを移動すると、mouseout が発生して閉じてしまうことです。

私は(例のように)いくつかのハッキーな修正を使用してしまいました

正しい方法を知りたいので、教えてください!ありがとうございました!

4

2 に答える 2

0

一部のブラウザーは、マウスのに表示されるものをマウスオーバーとして処理します。

(Imagine マップを含む非常に優れた機能があり、慎重にマウス ポインターを配置すると、全体がフラッシュ ループに入る可能性があります。)

しかし、私は本当に良い解決策を持っていません。Javascriptでセマフォを使用することになりました。ポップアップが開いたときにセマフォを設定しmouseover、他の要素のイベントでセマフォが設定されているかどうかを確認し、設定されている場合は保釈します。

誰かがより良い解決策を提供してくれることを願っています-私はそれを使用できます;)

于 2012-10-05T02:42:23.690 に答える
0

あなたは jQuery を使用しているので、過去の属性を移動して、目立たない JavaScripton*を書き始めることもできます。そのため、イベントの代わりにjQuery イベントを使用してください。mouseleavemouseout

HTML:

<div>
    <a class="trigger" href="#" >This is what you want</a>
    <span class="tooltip" id="popup2" >
        <a href="#">ZOMG it works</a>
    </span>
</div>

JavaScript

$('a.trigger').mouseenter(function () {
    $('#popup2').show();
});

$('span.tooltip').mouseleave(function () {
    $('#popup2').hide();
});​

http://jsfiddle.net/mattball/UwmhX

詳細: http://www.quirksmode.org/js/events_mouse.html#mouseenter

于 2012-10-05T02:43:01.810 に答える