1
<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;

4

2 回答 2

0

有两种方法可以防止点击的默认行为(在这种情况下,导航到"c:"):

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

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

由于event.returnValue并非所有浏览器都支持,我绝对推荐使用return false它——只是不要忘记它需要在你的 onclick 处理程序的末尾。

于 2013-06-29T02:26:03.707 回答
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>
于 2013-06-29T02:12:44.230 回答