jQuery event.preventDefault 的 Javascript 本机等效项 [重复]
Posted
技术标签:
【中文标题】jQuery event.preventDefault 的 Javascript 本机等效项 [重复]【英文标题】:Javascript native equivalent for jQuery event.preventDefault [duplicate] 【发布时间】:2012-09-27 07:28:37 【问题描述】:可能重复:event.preventDefault() vs. return false
我不确定,但据我所知,event.preventDefault
来自jQuery
。如果是,我想知道 javascript 中是否有任何本机等效项做同样的事情?
【问题讨论】:
preventDefault 是一种 DOM 方法。请参阅 W3C 规范here。 我觉得这个问题和那个不一样。 @Barmar 主题是相同的,答案在这两种情况下都适用,那么两者兼而有之有什么价值? @PraveenKumar 如果您完整阅读该问题,您会看到他们将preventDefault
与return false
进行比较……我的问题似乎与此类似?
@PHeiberg 谢谢!这就是我要找的!您能否发表您的评论作为答案,对其他人也有帮助! :)
【参考方案1】:
preventDefault
是一种 DOM 方法。请参阅 W3C 规范here。
【讨论】:
【参考方案2】:jQuery 环绕原生 JavaScript 事件对象。
preventDefault
是 JavaScript 方法。你可以通过return false;
在jQuery中实现preventDefault
。
【讨论】:
是的,我认为这是真的。但是当我们没有jQuery
时,Javascript 中的任何等价物呢?
@Mahdi preventDefault 与 JavaScript 而非 jQuery 有关。
如果您从 jQuery 事件处理程序返回 false,则相当于同时调用 preventDefault 和 stopPropagation。它与调用 preventDEfault only 不同
jQuery return false 负责处理 preventDefault 和 stopPropagation。 preventDefault 表示停止默认行为,例如单击链接不应打开链接。而 stopPropagation 就是停止其他监听器监听这个事件。【参考方案3】:
return false
来自 jQuery 事件处理程序 实际上与在传递的 jQuery.Event object. 上调用 e.preventDefault
和 e.stopPropagation
相同
e.preventDefault()
将阻止默认事件发生,e.stopPropagation()
将阻止事件冒泡,return false
将同时执行这两项操作。请注意,此行为不同于 普通(非 jQuery)事件处理程序,其中特别是 return false
does not stop the event from bubbling up。
来源:https://***.com/a/1357151
【讨论】:
以上是关于jQuery event.preventDefault 的 Javascript 本机等效项 [重复]的主要内容,如果未能解决你的问题,请参考以下文章