【问题标题】:What are the cases when `return false` does not do the same thing as `e.preventDefault()`? [duplicate]什么情况下 `return false` 与 `e.preventDefault()` 做的事情不同? [复制]
【发布时间】:2011-09-17 00:31:48
【问题描述】:
可能重复:
JavaScript: event.preventDefault() vs return false
return false 不做与e.preventDefault() 相同的事情的情况有哪些?
(注意我不是在谈论 jquery 事件.. 而是一般的 javascript 事件)
我能想到的唯一情况是超链接上的click 事件(如果您在处理程序中返回 false,您仍将被重定向到该网站)
请注意,如果它不是click 事件而是超链接上的mousedown 事件,则返回 false 的工作方式与 e.preventDefault() 相同
【问题讨论】:
标签:
javascript
events
javascript-events
【解决方案1】:
我相信return false同时等同于e.preventDefault();和e.stopPropagation();。但是,我建议您使用这些函数并返回 false 以实现未来和过去的浏览器兼容性:
$("#something").click(function(e){
alert("Something was clicked");
e.preventDefault();
return false;
});
广告@m