美好的一天,大家。有人可以解释为什么以下代码可以在谷歌浏览器中运行而在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>
我认为找到解决方法并不是一个问题,但了解代码的错误真的很有趣。 谢谢。
答案 0 :(得分:4)
您在点击处理程序的匿名函数中缺少event
。
$("#element a").click(function() {
// ^^