【问题标题】:onclick , onkeydown ... are browser api or JavaScript api?onclick , onkeydown ... 是浏览器 api 还是 JavaScript api?
【发布时间】:2018-06-21 20:05:28
【问题描述】:

我正在学习 zone.js 如何给 browseraAPI 打猴子补丁(基本上是异步任务),并使用 fork 挂钩来通知活动何时开始和结束。

setTimeOut 是 browserAPI 而不是 javascript 的东西,所以 Zone 可以修补它,但是 onclick、onkeydown....... 事件呢?据我了解,区域仅修补浏览器 API,然后当我单击按钮或按下按键或任何用户交互时如何触发更改检测?

或者我的理解是错误的。区域可以修补任何事件吗?

【问题讨论】:

  • DOM(及其关联的事件模型)不是 JavaScript 的一部分(也不是 JavaScript 的唯一)。一般来说,在 JS 领域,你几乎可以覆盖 任何东西
  • 我还有一个困惑。我知道调整大小、滚动和动画是浏览器事件,但你将如何分类 onclick、keydown、........用户事件或什么?还有,这个 onclick , keydown .. 这些是浏览器 API 还是 Javascript API?而且我知道 setTimeout 是浏览器 API,但我们用 javascript 编写它。事情在幕后是如何运作的。那么javascript如何与浏览器暴露的API交互呢?这里的wrapper Object是什么?
  • 查看my answer here,这可能会消除您的很多困惑。简短的回答是:没关系,除非您想编写自己的网络浏览器,否则您可能不需要关心差异。

标签: javascript angular zone.js angular-changedetection


【解决方案1】:

onclick,onkeydown 也被修补为addEventListener。所以eventHandler 内部处理的所有内容也会自动触发更改检测。

【讨论】:

  • 我还有一个困惑。我知道调整大小、滚动和动画是浏览器事件,但你将如何分类 onclick、keydown、........用户事件或什么?还有,这个 onclick , keydown .. 这些是浏览器 API 还是 Javascript API?而且我知道 setTimeout 是浏览器 API,但我们用 javascript 编写它。事情在幕后是如何运作的。那么javascript如何与浏览器暴露的API交互呢?这里的wrapper Object是什么?
猜你喜欢
  • 2021-12-25
  • 2021-10-06
  • 1970-01-01
  • 2015-01-02
  • 1970-01-01
  • 1970-01-01
  • 2018-11-04
  • 2015-10-30
  • 1970-01-01
相关资源
最近更新 更多