javascript - "event"对象被识别而不通过它,在 javascript 函数中?

标签 javascript events target

<分区>

按下链接时,我调用了一个 javascript 函数

  <a id="eventFiringLink" href="javascript:functionName()">

在按钮代码的另一个地方,我将 functionName() 函数绑定(bind)为点击事件的监听器。

 <button id="someButton">

通过jquery绑定(bind)点击事件

$("#someButton").bind('click',functionName);

功能描述如下,

 functionName(e)
 {
      if(event.target.id== "eventFiringLink")
      {
          console.log("do this");
      }
      else
      {
          console.log("do that");
      }
 }

当我点击链接时,我以为我会得到

"TypeError: Cannot read property 'target' of undefined",

但令我惊讶的是代码被执行并打印了

"do this"

在控制台中。

这怎么可能?

最佳答案

您正在访问全局 window.event。对该对象的支持因浏览器而异。

参见 http://www.quirksmode.org/js/events_access.html

jQuery 传递的参数被规范化以避免这些浏览器不一致,但正如您意识到的那样,您没有访问该参数,所以您获取的是原始全局事件对象。

关于javascript - "event"对象被识别而不通过它,在 javascript 函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30139054/

相关文章:

jquery - jQuery 中的类名更改事件

target - 使用 FASM 的 Mach-O 二进制文件

javascript - 如何清除:target choice?

javascript - 端点 URL Sharepoint 错误

javascript - 如何使事件导航栏链接更改背景颜色? Bootstrap 4.

java - 对于一个类中的多个操作,哪个更好? actionPerformed() 中的匿名内部类或 if 语句?

java - 如何创建带有 Android 事件的 "manager class"?

javascript - 我怎样才能使这个过渡平滑而不是跳跃起来

javascript - 从数组内的数组获取数据未按预期工作

css - 用一个目标选择器指定两个元素