【问题标题】:Javascript native equivalent for jQuery event.preventDefault [duplicate]jQuery event.preventDefault 的 Javascript 本机等效项 [重复]
【发布时间】:2012-09-27 07:28:37
【问题描述】:

可能重复:
event.preventDefault() vs. return false

我不确定,但据我所知,event.preventDefault 来自jQuery。如果是,我想知道 Javascript 中是否有任何本机等效项做同样的事情?

【问题讨论】:

  • preventDefault 是一种 DOM 方法。请参阅 W3C 规范here
  • 我觉得这个问题和那个不一样。
  • @Barmar 主题是相同的,答案在这两种情况下都适用,那么两者兼而有之有什么价值?
  • @PraveenKumar 如果您完整阅读该问题,您会看到他们将preventDefaultreturn false 进行比较……我的问题似乎与此类似?
  • @PHeiberg 谢谢!这就是我要找的!您能否发表您的评论作为答案,对其他人也有帮助! :)

标签: javascript jquery


【解决方案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.preventDefaulte.stopPropagation 相同

    e.preventDefault() 将阻止默认事件发生,e.stopPropagation() 将阻止事件冒泡,return false 将同时执行这两项操作。请注意,此行为不同于 普通(非 jQuery)事件处理程序,其中特别是 return false does not stop the event from bubbling up

    来源:https://stackoverflow.com/a/1357151

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-20
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多