基于 $(document) jQuery 选择器的自定义事件动态操作
Custom Event Dynamic Action based on $(document) jQuery selector
我一直在我的一个 Oracle Apex 页面中使用基于自定义事件的动态操作。我将我的事件绑定到文档,然后使用 'DOM Object' 选择类型(文档)来指定事件的上下文。
这适用于 Apex 4.2,但是我刚刚遇到与 Apex 5 相关的问题:
https://docs.oracle.com/cd/E59726_01/doc.50/e39143/toc.htm#BAJDAGJG
5.10 Deprecation of Dynamic Actions Based on DOM Objects
Dynamic actions based on DOM Objects have been deprecated. Change your
dynamic actions to use a jQuery Selector or JavaScript Expression
instead of DOM Object.
我的问题是,如何使用 jQuery 选择器来检测绑定到文档的事件?当我尝试使用 document
的 jQuery 选择器时,动态操作不会触发。我强烈怀疑这是因为 APEX 在解析动态操作时将选择器括在引号中,使其对文档或 window 对象上的选择器无用。
我已经知道在标准 jQuery 世界中我会使用 $(document)
。
我已经知道我可以将事件绑定到不同的 DOM 元素。我对此不感兴趣。我对绑定到文档特别感兴趣。
jQuery 选择器 return 元素节点。您的事件绑定到文档节点,因此无法使用 jQuery 选择器获取它。 $(document)
严格来说不是选择器。我相信 $(":root").parent()
return 是 document
对象,但这对你没有帮助,因为 Oracle 只允许你使用选择器,而不是方法。
Oracle 早些时候就我的 Apex 5 工作区回复了我,所以我一直在玩。解决方案在您引用的文档中。您不能在动态操作的选择类型中使用 jQuery 选择器,但您可以简单地使用 Javascript 表达式,其值为:document
我通过创建一个指向 URL 的按钮对此进行了测试:
javascript:apex.event.trigger(document,'testEvent');
我创建了一个响应自定义事件 testEvent
、选择类型 Javascript Expression
、表达式值 document
的动态操作。它工作正常,按钮现在通过在文档中处理的自定义事件触发警报。
简短示例:动态操作自定义事件如何放置(oracle apex 18.1)以刷新交互式报告 部分:
我一直在我的一个 Oracle Apex 页面中使用基于自定义事件的动态操作。我将我的事件绑定到文档,然后使用 'DOM Object' 选择类型(文档)来指定事件的上下文。
https://docs.oracle.com/cd/E59726_01/doc.50/e39143/toc.htm#BAJDAGJG
5.10 Deprecation of Dynamic Actions Based on DOM Objects
Dynamic actions based on DOM Objects have been deprecated. Change your dynamic actions to use a jQuery Selector or JavaScript Expression instead of DOM Object.
我的问题是,如何使用 jQuery 选择器来检测绑定到文档的事件?当我尝试使用 document
的 jQuery 选择器时,动态操作不会触发。我强烈怀疑这是因为 APEX 在解析动态操作时将选择器括在引号中,使其对文档或 window 对象上的选择器无用。
我已经知道在标准 jQuery 世界中我会使用 $(document)
。
我已经知道我可以将事件绑定到不同的 DOM 元素。我对此不感兴趣。我对绑定到文档特别感兴趣。
jQuery 选择器 return 元素节点。您的事件绑定到文档节点,因此无法使用 jQuery 选择器获取它。 $(document)
严格来说不是选择器。我相信 $(":root").parent()
return 是 document
对象,但这对你没有帮助,因为 Oracle 只允许你使用选择器,而不是方法。
Oracle 早些时候就我的 Apex 5 工作区回复了我,所以我一直在玩。解决方案在您引用的文档中。您不能在动态操作的选择类型中使用 jQuery 选择器,但您可以简单地使用 Javascript 表达式,其值为:document
我通过创建一个指向 URL 的按钮对此进行了测试:
javascript:apex.event.trigger(document,'testEvent');
我创建了一个响应自定义事件 testEvent
、选择类型 Javascript Expression
、表达式值 document
的动态操作。它工作正常,按钮现在通过在文档中处理的自定义事件触发警报。
简短示例:动态操作自定义事件如何放置(oracle apex 18.1)以刷新交互式报告 部分: