<HTML>
<HEAD>
<TITLE>Statements with returnValue</TITLE>
</HEAD>
<BODY>
<A HREF="c:" onclick="event.returnValue=false;alert('The Hyperlink has been cancelled.');">Drive C</A>
</BODY>
</HTML>
问题:
我们有这一行:event.returnValue=false;
但为什么alert()
仍然被执行?那么,使用event.returnValue=false;
的目的是什么?
答案 0 :(得分:0)
event.returnValue
的目的是:MSDN
但是,它不会更改执行顺序。您需要使用return
语句来更改执行顺序:
<HTML>
<HEAD>
<TITLE>Statements with returnValue</TITLE>
</HEAD>
<BODY>
<A HREF="c:" onclick="event.returnValue=false; return;alert('The Hyperlink has been cancelled.');">Drive C</A>
</BODY>
</HTML>
答案 1 :(得分:0)
有两种方法可以阻止点击的默认行为(在这种情况下,导航到"c:"
):
return false
。这将立即退出当前事件处理程序,并阻止任何进一步的操作。
设置event.returnValue = false
。这不会立即停止当前事件处理程序(即。onclick
),但一旦完成,将阻止任何进一步的操作。
由于所有浏览器都不支持event.returnValue
,因此我绝对建议您使用return false
- 只是不要忘记它需要位于您的onclick处理程序的末尾。