从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的open事件将其移动到对话框中,但是我对此并不走运。
是否有人将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可使节点获得焦点:
这具有使对话框变为无模式的副作用,因为您可以单击弹出窗口之外的任何内容,但至少select2控件可以再次工作:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句