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

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

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

把test函数改一下

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

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

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

JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。
而该值决定了当前操作是否继续。
当返回的是true时,将继续操作。
当返回是false时,将中断操作。 而直接执行时(不用return)。将不会对window.event.returnvalue进行设置
所以会默认地继续执行操作