3

みなさん、良い一日を。次のコードがGoogleChromeで機能し、Mozilla Firefoxでは機能しない理由を誰かが説明できますか?目的は、要素の最初のクリックでリンク(つまり、要素の子)を含むパネルを表示し、2番目のクリックで非表示にすると、リンクが機能するようにすることです。Mozillaでは、(要素の子の子として)リンクをクリックすると、links-containerが非表示になり、stopPropagationが機能しなくなります。

    reasonToggle = $("#element").toggle(function() {
        $("#links-container").css("visibility", "visible");
        $("#links-container").fadeTo(500, 1);
    }, function() {
        $("#links-container").fadeTo(500, 0, function() {
            $("#links-container").css("visibility", "hidden");
        });
    });
    $("#element a").click(function() {
        event.stopPropagation(reasonToggle);
    ;});

HTML構造:

<div id="element"> 
    <div id="links-container">
        <a href=""> Link1 </a>
        <a href=""> Link2 </a>
        <a href=""> Link3 </a>
    </div
</div>

回避策を見つけることは問題ではないと思いますが、コードの何が問題になっているのかを理解することは非常に興味深いことです。ありがとうございました。

4

1 に答える 1

4

eventクリックハンドラの無名関数がありません。

$("#element a").click(function() {
//                            ^^
于 2012-05-29T09:56:28.510 に答える