1

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

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

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

在此先感谢,克里斯

4

1 回答 1

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);
        }
    }
}
于 2013-06-19T23:02:15.780 回答