内联javascript firefox错误?

时间:2011-05-09 16:59:43

标签: javascript css firefox inline

有谁知道为什么当我在我的脚本中运行此代码时,它会将我带到一个只是说 none 的页面?它似乎只发生在Firefox中。

<a href="javascript:document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none';">CLOSE</a>

4 个答案:

答案 0 :(得分:6)

试试这个

<a href="
    javascript:document.getElementById('light')
    .style.display='none';document.getElementById('fade')
    .style.display='none';return false;">CLOSE</a>

然而,内联JS现在是一种反模式,我建议将这个逻辑移到一个JS文件中,并给这个链接一个类或者什么东西,允许你挂钩并添加一个事件监听器点击

答案 1 :(得分:1)

JavaScript中的赋值返回已分配的值。 Firefox正在评估您的所有JavaScript,并且发现最后发生的事情是返回'none'的语句;它然后使窗口的位置,因为这是链接的href属性应该做的。 (无论如何。)

您可能希望使用锚标记的onclick属性而不是href,并在末尾添加“return false”,以便单击链接的默认操作 - 导航到href - 不会发生。

<a onclick="document.getElementById('light').style.display='none';
            document.getElementById('fade').style.display='none';
            return false;">CLOSE</a>

当然,更好的是为此定义一个函数。 =)

答案 2 :(得分:1)

答案 3 :(得分:0)

我的方法是这样的:

<a href="javascript:void(0);" onclick="document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none';" >CLOSE</a>

在大多数网络浏览器上工作得很好。