现在的位置: 首页 > 综合 > 正文

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

2013年11月05日 ⁄ 综合 ⁄ 共 663字 ⁄ 字号 评论关闭
原文链接: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" onclick="f1()">百度知道</a>
我们发现会弹出一个对话框,但是页面还是跳到了百度知道,如果我们不希望浏览器自动跳到百度知道该怎么做呢?
首先在f1函数中加入一句话:
function f1(){
  alert("你点了我");
  return false;
}
接着在onclick中这样写:
<a href="http://zhidao.baidu.com" onclick="return f1()">百度知道</a>
因为f1()的返回值是false,所以onclick所对应的函数的返回值也是false。现在我们发现点击这个链接只会弹出对话框,而不会跳到百度知道,这里就是把浏览器的默认行为取消了。
如果f1()函数没有return false,也可以直接把return false加在onclick中,比如:onclick="f1();return false"。

抱歉!评论已关闭.