gpt4 book ai didi

javascript - 为什么这个事件处理程序使用 "e = e || event"?

转载 作者:可可西里 更新时间:2023-11-01 02:18:58 33 4
gpt4 key购买 nike

谁能解释一下这行代码是什么意思:

function(e) { e = e || event; e.returnValue = false; return false; }

为什么参数名为e
如果我将其更改为“myparam”,它会起作用吗?
e = e 是什么意思?

变量 event(在 || 之后)在哪里声明?什么是 e.returnValue?

最佳答案

这都是基本的事件管理,虽然它缺少e.preventDefault()...

将其分解,当触发事件处理程序时:

  • 一些浏览器将一个参数传递给持有事件数据的回调(这是符合标准的做法)
  • 其他浏览器(主要是旧的 IE)将事件数据放在 window.event 中(这里仅通过 event 访问,这是有风险的,因为它依赖于那里没有具有该名称的局部变量)

接下来,e = e || event; 是一种标准方式,表示“如果未传递参数,则将其默认为 || 之后的任何内容”。在这种情况下,如果没有传递事件参数,那么它会查找全局变量。

e.returnValue 是阻止事件导致其默认操作的三种方法之一。另外两个是 e.preventDefault && e.preventDefault()(您发布的代码中明显没有),以及 return false;

关于javascript - 为什么这个事件处理程序使用 "e = e || event"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536998/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com