4

我正在尝试$document.on("dialog-ready", function() { .. }用于触摸 UI 对话框自定义。我可以看到在完全加载对话框内容之前触发了对话框就绪事件,这使我无法使用标签来遍历对话框 html。

  1. 在我的对话框完全加载所有小部件及其值后,是否有任何事件侦听器可用于触发调用。?
  2. 除了Adob​​e Experience Manager 帮助 |是否有任何文档链接可以在其中找到这些事件侦听器?在 Adob​​e Experience Manager Touch UI 组件中使用事件处理程序
  3. $document.on("dialog-ready", function() { .. }此外,与 相比,AEM 加载的顺序是什么$(document).on("foundation-contentloaded", function (e) { .. }

?

4

2 回答 2

1

打开对话框时会触发对话框就绪。不一定在填充所有值之后。当新字段注入对话框时,会触发 Foundation contentloaded。更具体地说,根据文档,“它应该在注入容器时触发”。

因此foundation-contentloaded,在处理稍后添加新字段的多字段时,使用是理想的。此外,dialog-ready不会在页面创建向导中触发。我们必须在这里使用foundation-contentloaded。

两者都不能保证将填充所有内容,以便我们开始在 JavaScript 中使用它们的值。尤其是当我们的对话框中有 RTE/多字段时。

要回答您的问题,没有可用于指示对话框已完全加载的事件侦听器。我之前注意到foundation-contentloaded火灾dialog-ready

Coral.commons.ready确保初始化。在使用多字段和 RTE 时特别有用。

Coral.commons.ready(this, () => {
/*
logic to run once coral element 'this' is pointing to is initialized (initialize or _render methods are invoked)
*/
});

有关foundation-contentloadedCoral.commons.ready的更多信息

于 2020-02-07T06:26:51.060 回答
0

您可以使用:

$(document).on("foundation-contentloaded", function(e) {
  var container = e.target;
});

检查此链接

以下是更多示例: https ://helpx.adobe.com/experience-manager/using/creating-touchui-events.html

于 2019-05-01T20:27:42.390 回答