是什么决定链接的onclick属性中的`return false`会阻止导航?

时间:2014-06-27 22:17:11

标签: javascript return

Link 1不会显示示例网站,但Link 2会显示。为什么呢?

See the fiddle代码如下:

JS:

function myAlert(what) {
    alert(what);
}

HTML:

<a href="http://www.example.com" onclick="alert('Link 1');return false;">Link 1</a>

<a href="http://www.example.com" onclick="myAlert('Link 2');return false;">Link 2</a>

1 个答案:

答案 0 :(得分:2)

查看小提琴时,打开JS控制台(Windows上的F12)。单击第二个链接。

您应该看到Uncaught ReferenceError: myAlert is not defined。这是因为myAlert不在全球范围内; jsfiddle自动将您的JS代码范围限定为onLoad块。您当然可以将其更改为No wrap - in head以获得正确的行为。

这是你的小提琴的工作版本:http://jsfiddle.net/krD2b/