在事件处理程序中使用它

2023-11-23

我试图寻找它的意义thisDOM 级别 3 事件规范中事件处理函数内的关键字。

根据我的实验this指的是event.currentTarget object.

标准中是否提到了这种行为?

根据《JavaScript 权威指南》一书this指的是event target这似乎是错误的。event.currentTarget看起来更合乎逻辑,因为事件处理程序作为 HTML 元素对象的方法被调用。

有人可以澄清一下吗?

在冒泡的情况下,我看到“this”发生变化,意味着 event.currentTarget。


事实上,《权威指南》在这种情况下是错误的。

我在中找到了参考HTML5事件处理程序处理算法:

Invoke callback有一个参数,其值为 Event 对象E,与回调这个值 set to E's currentTarget.

DOM 级别 3 事件规范在以前的版本中没有对此进行太多说明 - 它意味着与语言无关。这附录F:ECMAScript 语言绑定刚才说

事件监听函数: 该函数没有返回值。该参数应该是一个实现了Event界面。

但是,当前版本省略了这些绑定。并且在其Glossary附录事件监听器描述:

事件处理程序, 事件监听器: 一个实现了EventListener接口并提供EventListener.handleEvent()回调方法。事件处理程序是特定于语言的。事件处理程序被调用在这样的背景下一个特定的对象(the 当前事件目标)并提供event对象本身。

此外,即将到来的 DOM Level 4 草案,其goals包含将 DOM 与 EcmaScript 的需求对齐,并明确指出in the 调度事件 section:

If listener's callback是一个 Function 对象,它的回调这个值 is the event's currentTarget属性值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在事件处理程序中使用它 的相关文章

  • 打印带有图像的 html(每个图像在单独的页面上)

    我有一个带有图像的 HTML img img img img 打印时 我希望每个图像都位于单独的页面上 根据打印尺寸 现在我把图像从中间切掉了 有什么办法可以解决吗 您可以尝试以下方法 p p
  • Vue.js + Element UI:在更改时获取“event.target”

    我无法获取在事件处理程序中触发事件的 html 字段 在 javascript 中是event target 我有一个表格 附加到更改事件函数的输入元素 管理更改事件的函数 我的代码如下 var Main methods change pa
  • 为什么我会收到此 Javascript 错误“连接未定义”?

    我不确定为什么会收到此错误 connection is not defined document getElementById flashTest sendValFromHtml connection value 这是我的代码 functi
  • 如何在 Nodejs - mongodb 搜索中对结果进行排序,但是,通过调用动态方法

    我正在 Nodejs 中开发一个 Web 应用程序 通过 mongo 本机连接器连接到 mongodb 在我的一个 js 文件中 我有一个通用方法来调用 find 或 findOne 操作以从 mongodb 集合中检索我需要的任何内容 如
  • Chart.js 渲染垂直堆积条形图太慢

    我正在使用 Chart js API 渲染多个堆叠的垂直条形图 但性能很慢 我什至做了一些改变 这样所有的content对象已经由服务器而不是浏览器处理 但我意识到大部分时间来自最终函数new Chart overallStatsChart
  • JQuery UI Draggable - 如何知道元素是否可拖动初始化?

    我的逻辑是 if this draginited a drag disabled element shouldn t get pass here as it is inited this draggable 我搜索了很多 找不到实现这个逻辑
  • 计算div中有多少个元素

    我有一个div 里面有span 有没有一种方法可以计算 div 中有多少个元素 然后将其作为值给出 例如 一个 div 中有 5 个跨度 那么它会对其进行计数并发出警报 5 请使用 JavaScript 谢谢 如果你想要后代的数量 你可以使
  • 如何将毫秒转换为可读的日期?

    下列 new Date 1324339200000 toUTCString Outputs Tue 20 Dec 2011 00 00 00 GMT 我需要它返回Dec 20 除了我可以使用的更好的方法之外toUTCString 我正在寻找
  • 如何在 Ionic 2 中动态创建具有特定类的模式?

    嗨 我已经被一个问题困扰好几天了 到目前为止还没有研究证明足够 我正在尝试在 Ionic 2 中创建一个具有特定类 或 id 的简单模式 我需要这样简单的东西
  • Android键盘点击搜索输入时出现和消失

    我在用谷歌地图 Js API当我搜索一个地方时 我的输入搜索栏工作正常 当我通过 iPhone 设备使用它时 它也工作得很好 但是当我通过Android 设备然后键盘立即出现和消失 我已经找到了一些关于当我按下搜索栏时 android 键盘
  • 如何使用谷歌地图检测一个点是否在多边形内部?

    我想检测到google maps LatLng是在一个里面google maps Polygon 我怎样才能做到这一点 Cheers 你可以使用这个谷歌地图V3 google maps geometry poly containsLocat
  • 如何从矩形点计算旋转角度?

    我有4分1 2 3 4闭合一个矩形 这些点按以下方式排列在数组中 x1 y1 x2 y2 x3 y3 x4 y4 我遇到的问题是矩形可以旋转一定角度 如何计算原始点 灰色轮廓 和角度 我试图在 javascript css3 transfo
  • 如何为多个元素添加Class?

    我正在使用这段 javascript 向多个元素添加一个类 我试图引用多个 div 并向它们添加类 它只适用于第一个 JavaScript
  • Ajax调用完成后执行函数

    我是 Ajax 新手 我尝试在使用 for 循环时使用 Ajax Ajax 调用之后 我正在运行一个使用 Ajax 调用中创建的变量的函数 该函数只执行两次 我认为 Ajax 调用可能没有足够的时间在循环开始之前进行调用 有没有办法在运行
  • 同源政策目的可疑

    正如我所读到的 同源策略是防止源自 邪恶 域 A 的脚本向 良好 域 B 发出请求 换句话说 跨站点请求伪造 玩了一下我了解到的Access Control Allow Origin标头和CORS据我了解 它允许从好域 B 指定服务器 域
  • javascript捕获文本区域中的粘贴事件

    我目前有一个文本区域 我需要控制已粘贴的文本 本质上 我需要能够将用户想要粘贴到文本区域中的任何内容并将其放入变量中 然后我将计算出他们粘贴文本的位置和字符串的大小 以将其从文本区域中删除 然后最后用我自己的方式处理变量中的文本 我的问题
  • IE 开发工具断点不起作用

    我正在尝试在 IE 11 中调试一些 javascript 但无法强制它在断点处停止 debugger 行工作正常 停止该行中的调试器 相同的文件没有debugger 行但在同一位置设置断点不会执行任何操作 功能正常 但调试器不会在断点处停
  • 如何清除画布中图像上的矩形

    我需要清除画布中图像上绘制的矩形 而不损坏现有图像 我可以绘制小矩形点并将其清除 但问题是 当我清除矩形时 它在图像上仍保留为白色小斑点 有人可以告诉我如何清除图像上的矩形而不损坏现有图像 我使用了以下方法来清除矩形 但没有用 1 cont
  • 来自 ajax 的 Bootstrap 表 json

    我有 ajax 和 bootstrap 表的问题 我有一个 ajax JSON 我用这个方法调用 document ready function ajax url php process php method fetchdata dataT
  • Page_ClientValidate 正在验证多次。

    我的问题是 验证摘要消息 警报 显示两次 我无法弄清楚原因 请帮忙 这是代码 function validate javascript function if typeof Page ClientValidate function var

随机推荐

  • 将字符串列表作为 Airflow 中相关任务的参数传递

    我正在尝试通过以下方式将字符串列表从一个任务传递到另一个任务XCom但我似乎无法将推送列表解释回列表 例如 当我在某些函数中执行此操作时blah这是运行在ShortCircuitOperator paths gs format bucket
  • 获取 SoundCloud API 客户端 ID

    从浏览器访问我的轨迹时遇到问题 通常我在浏览器中输入此链接来访问可下载的曲目 http api soundcloud com tracks 294324164 download client id 02gUJC0hH2ct1EGOcYXQI
  • 将 google adsense 与 React + React Router 结合使用

    我正在尝试将 Google Adsense 集成到我的 React 网站中 但遇到了问题 为了在我的网页上投放广告 我已将此脚本标记包含在head我的 html 文件 这些广告被包装在一个简单的组件中 如下所示 export default
  • 关于使用 std::less 和 std::greater 与 std::sort 的混淆

    在C语言中 排序通常实现如下例 include
  • 为什么 NaN 不是有限的?

    测试isFinite函数我看到NaN is an infinite数 即使是不是一个数字 isFinite NaN returns false 这背后的逻辑是什么 为什么不是NaN finite 正如戴夫 牛顿所说 NaN 不是一个数字 然
  • Jenkins Gradle 集成:调用 Gradle 与使用 Gradle Wrapper 选项

    我刚刚开始在我的项目中使用 Jenkins for CI 和 Gradle 构建工具 I found 使用 Gradle 和 Jenkins 构建持续交付管道我不明白为什么作者建议 始终使用包装器 c 编号 120幻灯片 为什么这比直接涉及
  • 在全局范围内重新定义指针

    In 这个问题我对 C 的这个看似基本的方面感到非常困惑 考虑这两行代码 int ptr ptr 2 gcc 将发出以下警告 main cpp 4 1 warning data definition has no type or stora
  • Google 地图 API v3 放置搜索 - 将另一个参数传递给回调函数

    我正在使用 Google 地图地方 API v3 返回许多 类型 的地点 每个地点由地图上的不同标记表示 我创建一个 google maps places PlacesService 对象 然后为每个地点类型调用一次 搜索 方法 每次 我都
  • 异步任务 获取 VS HttpResponseMessage 获取

    我需要您在以下方面提供帮助 近一个月来 我一直在阅读有关 Tasks 和 async 的内容 我想尝试在一个简单的 Web API 项目中应用我新获得的知识 我有以下方法 并且它们都按预期工作 public HttpResponseMess
  • 如何在 PHP 中解析和处理 HTML/XML?

    如何解析 HTML XML 并从中提取信息 Answer recommended by PHP Collective 原生 XML 扩展 我更喜欢使用其中之一原生 XML 扩展因为它们与 PHP 捆绑在一起 通常比所有第 3 方库更快 并为
  • 比较 android 中的语音 wav 或语音标签(语音命令)API

    我正在开发一个应用程序 我需要某种方法来比较两个语音是否匹配 我知道语音识别器是一种方法 但因为 我认为 它需要首先将语音转换为字符串 所以除了语音识别器支持的语言之外 不太适合其他语言 有什么想法吗 就像过去的电话一样 语音标签只是将语音
  • 用 C 语言模仿 Python 的 strip() 函数

    我最近开始用 C 语言开发一个小玩具项目 并且一直在摸索模仿 python 字符串对象的 strip 功能的最佳方法 阅读 fscanf 或 sscanf 发现字符串被处理到遇到的第一个空格 fgets 也没有帮助 因为我仍然有换行符 我确
  • HTML5 History API 后退按钮,部分页面加载

    为了提高网站的性能 响应能力 我使用 AJAX replaceState pushState 和 popstate 侦听器实现了部分页面加载 我基本上将页面的中心部分 HTML 存储为历史记录中的状态对象 单击链接时 我仅从服务器请求页面的
  • 无法使用 Cocoapods 动态框架导入 RestKit

    我安装了 cocoapods 的预发布版本 0 26 并尝试安装最新版本的 RestKit 在我的podfile我已经打开了use frameworks 强制 cocoapods 使用动态框架的标志 Putting import RestK
  • SQL Server触发器-使用deletetime将删除的记录插入到另一个表中

    目前我有一个 Item 表和一个 ItemWaste 表 两个表都会有一些字段 例如 名称 金额等 但是 ItemWaste 表还会多一个字段 即 TimeWasted 我希望自动将 Item 表中的 DELETED 项目插入到 ItemW
  • 如何在Qt中实现下拉单词建议?

    假设我有 10 个名字QListWidget 这是隐藏的 和一个aQLineEdit 现在 如果我在 编辑 行中输入字母 a 它应该显示列表小部件中以字母 A 开头的所有名称的下拉列表 用户可以使用鼠标或键盘进行选择 因为会有一个垂直滚动条
  • 将 JSON 字符串解码为类对象

    private func createWeatherObjectWith json Data x Any Type completion escaping data Any error Error gt Void do let decode
  • 指针和数组的区别[重复]

    这个问题在这里已经有答案了 可能的重复 char str STRING 和 char str STRING 之间的区别 C 指针和数组的区别 Hi 谁能告诉我以下陈述之间的区别 char p This is a test char a Th
  • android 中如何知道某个应用程序将被卸载?

    我想实现像 AppLock 应用程序正在做的事情 如果在其设置中设置为锁定应用程序卸载 安装 则在卸载任何应用程序时 恰好单击卸载按钮 会出现一个锁屏 要求输入密码 图案 只有输入密码后 用户才可以卸载应用程序 当一个人得到的意图是什么 或
  • 在事件处理程序中使用它

    我试图寻找它的意义thisDOM 级别 3 事件规范中事件处理函数内的关键字 根据我的实验this指的是event currentTarget object 标准中是否提到了这种行为 根据 JavaScript 权威指南 一书this指的是