我遇到这个问题,当我在Firefox中使用这个html时会打开一个新窗口
<a style="float:right;"
href='javascript:window.location.href="#";'onClick="javascript:addNewRecord();">
New Record</a>
我尝试过self.location,window.location,#body和#h1作为href。
最初我有代码,但在firefox中没有做任何事情,只是打开一个新窗口,而不是执行我的功能。该代码在chrome中非常完美。
<a style="float:right;" href="javascript:addNewRecord();">New Record</a>
答案 0 :(得分:10)
规范的内联方式是
<a style="float:right;" href="#"
onClick="addNewRecord(); return false">New Record</a>
或更好:
<a style="float:right;" href="#"
onClick="return addNewRecord()">New Record</a>
其中addNewRecord在函数末尾返回false
更好的方法是
window.onload=function() {
document.getElementById("addLink").onclick=addNewRecord;
}
function addNewRecord() {
...
return false;
}
加
<style>
#addLink { float:right }
</style>
和
<a href="#" id="addLink">New Record</a>
由于在链接上滥用HREF只是为了得到一个指针是不受欢迎的,你可以考虑<span>
带有onclick和cursor:指针。它确实需要更多的努力来使这样的元素可以被例如屏幕阅读器访问。
答案 1 :(得分:4)
尝试:
onClick="addNewRecord();return false"
答案 2 :(得分:3)
您的代码行为如何完全取决于addNewRecord()函数的作用(包括它返回的内容)。
没有看到内部的这个功能很难说,但我会说发生的事情就在那里。
请注意,您在href =“”部分中放置的内容可能不会影响您所看到的行为。
答案 3 :(得分:0)
试试这个
<a onclick="javascript:addNewRecord();">New Record</a>