我想知道是否event.preventDefault()
和return false
相同。
elem.onclick = function(){
return false;
};
然后,return false
阻止默认操作,例如event.preventDefault()
。
addEventListener
,例如elem.addEventListener(
'click',
function(e){
return false;
},
false
);
然后,return false
不要阻止默认操作。
所有浏览器的行为都一样吗?
event.preventDefault()
和之间还有更多区别return false
吗?
在哪里可以找到一些有关return false
行为的文档(我在MDN中找不到)event.preventDefault()
?
的W3C文档对象模型事件规范在 _1.3.1。 事件注册接口_指出,handleEvent
EventListener中没有返回值:
handleEvent
每当发生事件类型为注册了EventListener接口的事件时,都会调用此方法。[…] 没有返回值
根据 _1.2.4。 事件取消_文档还指出
取消是通过调用Event的preventDefault方法来完成的。如果一个或多个EventListener在事件流的任何阶段调用preventDefault,则默认操作将被取消。
这应该阻止您使用在任何浏览器中使用返回true / false可能产生的任何影响event.preventDefault()
。
更新资料
HTML5规范实际上指定了如何对待不同的返回值。HTML规范的7.1.5.1节规定:
如果返回值是WebIDL布尔值false,则取消该事件。
除了“ mouseover”事件以外的所有事件。
结论
我仍然建议event.preventDefault()
在大多数项目中使用,因为您将与旧规范兼容,从而与旧版浏览器兼容。仅当您只需要支持最新的浏览器时,返回false即可取消。
问题内容: 当我想阻止其他事件处理程序在某个事件被触发后执行时,可以使用两种技术之一。我将在示例中使用jQuery,但这也适用于纯JS: 1。 2。 这两种停止事件传播的方法之间是否有显着差异? 对我来说,比执行方法更简单,更短并且更容易出错。使用该方法时,您必须记住正确的大小写,括号等。 另外,我必须在回调中定义第一个参数才能调用该方法。也许,出于某些原因,我应该避免这样做并改为使用它?有什么更
问题内容: 在我的程序中,我有一个字符串(从外部库获取),该字符串与任何正则表达式都不匹配。 知道有什么问题吗?当我打印到标准输出时,看起来还可以。 这是从PDF提取文本的代码(我正在使用iText 5.0.1): 问题答案: 默认情况下,不匹配的换行符。所以我的猜测是您包含换行符。 还要注意,它将匹配整个字符串,而不仅仅是字符串的一部分:它不会做什么! 一些例子: 在最后一个例子将导致匹配换行符
问题内容: 我正在用Django + jQuery测试ajax。我认为: 这在我的模板中: 我的问题是-为什么这会在我的HTML页面中返回“ Not ajax”? 问题答案: 我不知道你怎么了 我测试并取得了良好的消息:。我的代码: urls.py views.py templates / home.html
在什么情况下netty中的writAndFlush函数返回false。我们如何调试它?我需要启用某些东西才能在通道上写入吗?我还检查了通道,它是可写的。 谢谢,Adib
问题内容: 当我尝试从Java代码中删除tomcat服务器conf / Catalina / localhost中存在的文件时,file.delete()始终返回false。但是,如果我通过file.exists()函数检查文件,它将返回true。我没有任何例外。请帮助我们为什么会这样。有什么解决方案? 问题答案: 当我尝试从Java代码中删除tomcat服务器conf / Catalina /
问题内容: 我正在使用kubernetes python客户端。如果我的代码启动时kubernetes不可用,我想重试连接。 当客户端无法连接时,它会抛出一个异常,因此我从以下内容开始: 但这完全失败了;它的行为就像没有任何声明,并且可以解决: 我以为也许我不像我想象的那样理解继承,所以我将上述内容替换为: 以相同的方式失败。为了弄清楚发生了什么,我添加了一个包罗万象并调用pdb: 从提示符处,我