2014-10-09 48 views
1

从Domino 9.01FP2开始,您不能再关注xe:对话框中的Select2控件。 它似乎是由于在FP2之前工作而导致dojo版本发生更改。dijit对话框中的Select2控件 - 无法对焦

我明白,根本原因是dijit对话框的布局管理器(或底层)阻止了对模态外的事物的注意,而select2下拉列表被添加在页面的末尾。

当与jquery模式一起使用时,有记录的修复,例如,

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

但我无法找到dojo的任何等效修复,即将select2下拉列表注册为允许拥有焦点的东西。

NB:我认为,在道场这个“修复”可能造成的问题 https://bugs.dojotoolkit.org/ticket/15370

我想到了一个可能的解决方案是使用选择2的open事件,移动它是在对话框中,但我没有运气好。

是否有人在dojo中使用select2或仅仅是一个奇怪的用例,因为大多数人会使用jQuery? (xpages之外)

谢谢!

回答

3

经过很长时间的调试Dojo,我设法让这个工作。
作为忽悠你可以把这个到您XE:对话框代码

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

道场允许节点获得焦点,如果:

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

这具有使无模式对话框中,你可以点击任何东西弹出之外,但至少选择2再次控制工作:)

+0

你救了我的一天:)我有同样的问题,不知道什么改变了来自IBM的POODLE HF,但是,我的select2字段没有得到重点。过去两周我一直在试图解决这个问题。谢谢。 – PSolano 2014-12-17 19:41:50

+0

@PSolano很高兴它帮助! – 2015-01-02 09:39:47

0

尝试将该对话框的属性“自动对焦”设置为false。

+0

不幸的是这并没有为这个问题抛开工作效果,当你尝试专注于选择2控制,而不是当对话框第一次弹出 – 2014-10-21 11:04:23