在iPad上,当在触摸屏外触摸时,ExtJS下拉列表不会被解雇

时间:2013-05-29 23:19:29

标签: ipad extjs drop-down-menu

当我使用iPad触摸打开的下拉菜单时,我无法通过触摸窗口中的其他位置离开菜单,就像在PC上发生的那样。

我正在使用Safari运行webapp,我知道Safari不会为iPad的不可点击区域注册点击,所以我想知道这是否是我无法退出下拉菜单的原因,如果是的话,我该如何解决这个问题。

我知道ExtJS不适合iPad,但我相信我的问题与ExtJS对iPad的不良支持无关。

先谢谢你,克里斯

1 个答案:

答案 0 :(得分:0)

解决方案是向主面板添加事件处理程序。我使用以下方法来实现这一目标。

// "forms" was used for a dual purpose
var forms = Ext.dom.Query.select('{overflow=auto}');
    for(var i = 0; i < forms.length; i++) {

        // If the element's ID has "panel" in it
        if (forms[i].id.search("panel") == 0) {
            var panel = document.getElementById(forms[i].id);

            //touchmove works the best of the events I found
            panel.addEventListener("touchmove", function(e) {
                for (var j = 0; j < myComboboxes.length; j++) {
                    myComboboxes[j].collapse();
                }
            }, false);
        }
    }
}