onclick="test()"与onclick="return test()"的区别

浏览器会对页面元素的某些操作产生默认行为比如a标签跳转,form表单的提交等
如果是onclick="test()"则执行该函数,然后继续自己的默认行为
<a href="http://zhidao.baidu.com" onclick="return test()">百度一下</a>
  <script type="text/javascript">
    function test(){
     alert("你点了百度一下");
    }
  </script>

这样会弹出提示框,然后页面跳转到百度页

把test函数改一下

1  <a href="http://zhidao.baidu.com" onclick="return test()">百度知道</a>
2   <script type="text/javascript">
3     function test(){
4       console.log("你点了我");
5       return false;
6     }
7   </script>

这样后 会弹出提示框但不会跳到百度页。

也可以改成onclick="test(); return false"阻止默认行为

JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。
而该值决定了当前操作是否继续。
当返回的是true时,将继续操作。
当返回是false时,将中断操作。

而直接执行时(不用return)。将不会对window.event.returnvalue进行设置
所以会默认地继续执行操作

 

 
posted @ 2015-02-06 16:29  MissBean  阅读(322)  评论(0编辑  收藏  举报