onclick="f1()"和onclick="return f1()"的区别是什么?

Posted 春夏秋冬---studio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onclick="f1()"和onclick="return f1()"的区别是什么?相关的知识,希望对你有一定的参考价值。

原文链接:http://zhidao.baidu.com/question/126351894.html

是有区别的,具体请看如下解释。
浏览器会对页面元素的某些操作产生默认行为,比如说你有个链接:
<a href="http://zhidao.baidu.com">百度知道</a>
当你点击它的时候,浏览器就会跳转到百度知道的页面,实际上这是浏览器对a元素的点击操作(即onclick)产生的默认事件处理。
假如我们希望当点击这个链接时弹出一个对话框,可以这样做:
function f1()
  alert("你点了我");

<a href="http://zhidao.baidu.com" οnclick="f1()">百度知道</a>
我们发现会弹出一个对话框,但是页面还是跳到了百度知道,如果我们不希望浏览器自动跳到百度知道该怎么做呢?
首先在f1函数中加入一句话:
function f1()
  alert("你点了我");
  return false;

接着在onclick中这样写:
<a href="http://zhidao.baidu.com" οnclick="return f1()">百度知道</a>
因为f1()的返回值是false,所以onclick所对应的函数的返回值也是false。现在我们发现点击这个链接只会弹出对话框,而不会跳到百度知道,这里就是把浏览器的默认行为取消了。
如果f1()函数没有return false,也可以直接把return false加在onclick中,比如:οnclick="f1();return false"。

以上是关于onclick="f1()"和onclick="return f1()"的区别是什么?的主要内容,如果未能解决你的问题,请参考以下文章

html js问题,onclick事件无法调用(IE11,火狐两个浏览器)

js绑定事件函数带括号和不带括号执行效果有啥不同

如何使用 OnClick 事件调用 JS 函数

按钮使用onclick调用js函数参数传递问题

onclick 传递参数

js如何追加onclick方法