gpt4 book ai didi

javascript - 我的 YUI 3 实例在哪里? (加上一些 YUI 事件观察)

转载 作者:行者123 更新时间:2023-11-30 06:00:23 30 4
gpt4 key购买 nike

这个问题主要是出于学术兴趣。

我今天开始使用 YUI 3,并偶然发现了它的沙箱概念。在彻底尝试在 DOM 中找到一些对象(比如我注册的事件处理程序)后,我不得不放弃。我只是找不到任何实例对象结束于此。

我想我已经涵盖了大部分闭包:即使沙箱严重依赖它们,也必须至少在任何地方至少对事件处理程序等部分有一个可见的引用(否则没有人可以访问任何东西,甚至闭包也是垃圾在那种情况下的某个时间收集),对吧?

  1. 我在哪里可以找到 DOM 中的 YUI 实例(不将其分配给全局变量)?
  2. 我能找到它吗:沙盒 YUI 对象或它们的一部分是否存在于 DOM 中?

通过一个例子变得更具体(并且稍微偏离主题):我有一个带有附加 YUI 小部件和事件的 YUI 节点对象。这些 Node 对象正在包装 DOM 节点。检查 DOM,包裹的节点没有任何观察者。

  • 如果 DOM 内部没有连接任何东西,如何触发附加到 Node 对象的事件?

最佳答案

YUI 3 唯一可见的引用是 YUI 全局对象和由 YUI 分配的临时元素 id。事件订阅是使用原生 addEventListenerattachEvent 进行的,它们不会在标记或 innerHTML 中留下证据。不过,有些开发人员工具能够显示以这种方式附加的订阅,并且它们会显示 YUI 订阅。

您无法在 DOM 中找到 YUI 实例。这就是沙盒的意义所在。 YUI 的实例存在于 JavaScript 层(技术上,ECMAScript 层),而不是 DOM 层,只存在于闭包中,除非您明确地将它们分配给全局可访问的变量或属性或全局可访问的变量。

关于javascript - 我的 YUI 3 实例在哪里? (加上一些 YUI 事件观察),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955010/

30 4 0
文章推荐: javascript - 使用 Greasemonkey 更改变量或激活 JS 链接的