gpt4 book ai didi

dojo - dijit 对话框中的 Select2 控件 - 无法聚焦

转载 作者:行者123 更新时间:2023-12-01 05:07:46 25 4
gpt4 key购买 nike

从 Domino 9.01FP2 开始,您不能再关注 xe:dialog 中的 Select2 控件。它似乎是由 dojo 版本的变化引起的,因为它在 FP2 之前有效。

我知道根本原因是 dijit 对话框的布局管理器(或底层)阻止了对模态之外事物的关注,并且 select2 下拉列表附加在页面末尾。

当它与 jquery 模态一起使用时,有记录的修复程序,例如

$.fn.modal.Constructor.prototype.enforceFocus = function() {};

但我找不到 dojo 的任何等效修复,即将 select2 下拉列表注册为允许具有焦点的内容。

注意:我认为 dojo 中的这个“修复”可能导致了这个问题 https://bugs.dojotoolkit.org/ticket/15370

我想到的一个潜在解决方案是使用 select2 的打开事件将其移动到对话框中,但我没有成功。

是否有人将 select2 与 dojo 一起使用,或者这只是一个奇怪的用例,因为大多数人会使用 jquery? (在 xpages 之外)

谢谢!

最佳答案

经过长时间调试 Dojo,我设法让它工作。
作为软糖,您可以将其放入您的 xe:dialog 代码中

<xe:this.onShow><![CDATA[//fudge to make select2 work
dijit.byId('#{id:myDialog}')._fadeOutDeferred = true; ]]></xe:this.onShow>

Dojo 允许节点在以下情况下获得焦点:

  1. 他们是对话的 child
  2. 他们有一类digitPopup
  3. _fadeOutDeferred 属性设置为 true

这有使对话框无模式的副作用,因为您可以单击弹出窗口之外的任何内容,但至少 select2 控件再次起作用:)

关于dojo - dijit 对话框中的 Select2 控件 - 无法聚焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26286544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com