【发布时间】:2015-04-16 19:05:15
【问题描述】:
我一直在我的一个 Oracle Apex 页面中使用基于自定义事件的动态操作。我将我的事件绑定到文档,然后使用(文档的)“DOM 对象”选择类型来指定事件的上下文。
这适用于 Apex 4.2,但我刚刚遇到与 Apex 5 相关的问题:
https://docs.oracle.com/cd/E59726_01/doc.50/e39143/toc.htm#BAJDAGJG
5.10 弃用基于 DOM 对象的动态操作
基于 DOM 对象的动态操作已被弃用。改变你的 使用 jQuery 选择器或 JavaScript 表达式的动态操作 而不是 DOM 对象。
我的问题是,如何使用 jQuery 选择器来检测绑定到文档的事件?当我尝试使用 document 的 jQuery 选择器时,动态操作不会触发。我强烈怀疑这是因为 APEX 在解析动态操作时将选择器括在引号中,使其对文档或窗口对象上的选择器无用。
我已经知道在标准的 jQuery 世界中我只会使用$(document)。
我已经知道我可以将事件绑定到不同的 DOM 元素。我对此不感兴趣。我对绑定到文档特别感兴趣。
【问题讨论】:
-
我还没有尝试过 Apex 5,但是您是否尝试过
:root作为您的 jQuery 选择器?与文档不完全相同,但可能会给您相同的行为。 -
我已尝试将
:root作为我的选择器,并将事件绑定到document。它没有用。因此,我认为该事件不会从文档中冒出来? -
我的建议没有经过深思熟虑。事件从子元素冒泡到根元素,但这对您没有帮助,因为您的事件未绑定到元素,而是绑定到文档节点。
标签: javascript jquery oracle dom oracle-apex