onclick="return doAlert()" onclick="return false"
return false不是取bai消事件冒泡,而是取消“du浏览器默认行为”。
比如一个链接zhi
<a href="http://zhidao.baidu.com">百度知道dao</a>
当我们点击这个链接时,浏览器会自动跳转到:zhidao.baidu.com这个地址,这是浏览器的默认行为,如果我们这么做:
<a href="http://zhidao.baidu.com" onclick="return false">百度知道</a>
那么再次点击这个链接时,浏览器则不会进行跳转。
第二个问题就不重复说了。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> function doAlert() { //alert("#"); var fail_this_check = true; if(fail_this_check) return false; else return true; } </script> with return <input type="checkbox" onclick="return doAlert()" /><br/> without return <input type="checkbox" onclick="doAlert()" /> </body> </html>
onclick="func()" 表示只会执行 func , 但是不会传回 func 中之回传值
onclick = "return func()" 则是 执行 func 并传回 func 中之回传值
使用 return doAlert() 的 checkbox 会因为 func 回传 false 而中断 click 动作