3

今天是个好日子。有人可以解释为什么以下代码在 Google Chrome 中有效,而在 Mozilla Firefox 中无效?目的是在第一次单击元素时显示带有链接(即元素的子元素)的面板,在第二次单击时将其隐藏,并且链接应该可以工作。在 Mozilla 中,当您单击链接(作为元素的子元素的子元素)时,链接容器只是隐藏并且 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 回答