这是我2年前写的blog,原文在这里
来自爆栈这里
引出问题的是楼主问jquery环境下preventDefault和return false的区别。
楼下有一位总结关于return false在各个环境下的区别,以下是节选和总结:
在标准的DOM2 handler下(也就是使用addEventListener方式监听),return false不会做任何事情(也就是不会阻止事件,也不会停止冒泡)
在Microsoft DOM2 handler下(也就是使用attachEvent方式监听),return false会阻止事件,但是不会停止冒泡
在标准的DOM0 handler下(也就是在html结构里面事件中return,如:
<a onclick="return ...">
),return false会阻止事件,但是不会停止冒泡以上都是原生方式return false,都是不能默认阻止事件冒泡
但是在jquery环境下监听事件(如:$(‘a’).click(…))return false会同时阻止事件和停止事件冒泡。