返回false但继续在相同的范围内

时间:2014-07-09 07:13:45

标签: javascript jquery

<a class='google' href="www.google.com>google</a>

说我无法更改上面的标记,但我想禁用超链接,我这样做

$('.google').click(function(){
    return false;
    windows.open('www.gmail.com');
});

我希望在返回false之后我的代码可以正常工作,但事实并非如此,为什么?

1 个答案:

答案 0 :(得分:10)

因为after return statement, rest of the code will never be invoked。这是每种编程语言的默认行为。您可以使用event.preventDefault()来阻止重定向。为此,请像这样使用

$('.google').click(function (e) {
    e.preventDefault();
    window.open('www.gmail.com');
});

对于event.preventDefault() vs return false,请参阅event-preventdefault-vs-return-false