内联javascript firefox错误?
有人知道为什么当我在脚本中运行这段代码时,它会将我带到一个只显示none的页面吗?这似乎只发生在Firefox上内联javascript firefox错误?,javascript,css,firefox,inline,Javascript,Css,Firefox,Inline,有人知道为什么当我在脚本中运行这段代码时,它会将我带到一个只显示none的页面吗?这似乎只发生在Firefox上 <a href="javascript:document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none';">CLOSE</a> 试试这个 <a href=" javascript:documen
<a href="javascript:document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none';">CLOSE</a>
试试这个
<a href="
javascript:document.getElementById('light')
.style.display='none';document.getElementById('fade')
.style.display='none';return false;">CLOSE</a>
然而,现在内联JS是一种反模式,我建议将此逻辑移到JS文件中,并为此链接提供一个类或其他东西,允许您连接到它并添加一个事件侦听器,以便在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>
关闭
当然,更好的办法是为此定义一个函数。=) 请参阅和我的答案。我的方法如下:
<a href="javascript:void(0);" onclick="document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none';" >CLOSE</a>
而且在大多数web浏览器上都可以正常工作 这项工作的唯一原因是
返回false
抛出异常,从而终止脚本并防止其具有返回值。所以它“起作用”,但它并不是最好的解决方案……它不会“抛出异常”,它只是停止处理锚上的点击事件,是的,这种方法有一些错误,但它是让OP的解决方案起作用的阻力最小的途径。