event.returnValue = false;在js

时间:2013-06-29 02:08:07

标签: javascript

<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;的目的是什么?

2 个答案:

答案 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:"):

    来自事件处理程序的
  1. return false。这将立即退出当前事件处理程序,并阻止任何进一步的操作。

  2. 设置event.returnValue = false。这不会立即停止当前事件处理程序(即。onclick),但一旦完成,将阻止任何进一步的操作。

  3. 由于所有浏览器都不支持event.returnValue,因此我绝对建议您使用return false - 只是不要忘记它需要位于您的onclick处理程序的末尾。