从Domino 9.01FP2开始,您无法再关注xe:对话框中的Select2控件。 它似乎是由于在FP2之前工作的dojo版本的变化引起的。
我理解根本原因是dijit对话框的布局管理器(或底层)阻止了对模态之外的事情的关注,并且select2下拉列表附加在页面的末尾。
当使用jquery模式,例如
时,已经记录了这方面的修复$。fn.modal.Constructor.prototype.enforceFocus = function(){};
但是我找不到dojo的任何等效修复,即将select2下拉列表注册为允许聚焦的内容。
注意:我认为dojo中的'修复'可能导致了这个问题 https://bugs.dojotoolkit.org/ticket/15370
我想到的一个潜在的解决方案是使用select2的open事件将其移动到对话框中但我没有运气。
是否有人使用带有dojo的select2或者只是一个奇怪的用例,因为大多数人都会使用jquery? (在xpages之外)
谢谢!
答案 0 :(得分:4)
经过很长一段时间调试Dojo后,我设法让它运行起来 作为一个软糖,你可以将它放入你的xe:对话框代码
<xe:this.onShow><![CDATA[//fudge to make select2 work
dijit.byId('#{id:myDialog}')._fadeOutDeferred = true; ]]></xe:this.onShow>
在以下情况下,Dojo允许节点获得焦点:
除了可以点击弹出窗口之外的任何内容,但是至少select2控件再次起作用之外,这会使对话无模式效果:)
答案 1 :(得分:0)
尝试设置属性&#39;自动对焦&#39;该对话框为false。