在使用iOS 8的iPad上拔出我的Dojo Mobile应用程序时,ComboBox下拉列表无法正确放置。我的ComboBox非常接近屏幕的底部(在没有滚动的单页面应用程序中),因此下拉列表几乎总是出现在CombBox上方。它在我测试的除iPad上的Safari之外的所有浏览器/设备中都可以。在那里,它总是出现在ComboBox下面并滚动屏幕上的所有其他内容。
为了确认这不是我的应用程序的问题,我在iPad上打开了dojox / mobile ComboBox测试,它们的行为方式相同。特别是,dojox/mobile/tests/test_ComboBox-widepage.html
表现得最好。我的ComboBox上禁用了文本输入(以防止屏幕设备键盘出现),您可以通过添加以下内容在测试页面中复制它:
ready(function () {
domAttr.set(registry.byId('dropDown').textbox, 'readOnly', true);
});
我真的不知道从哪里开始寻找解决方案。 ComboBox.js
中的任何内容看起来都不对,这是有道理的,因为它几乎无处不在。有没有我可以实施的快速解决方案,或者我必须将此报告为错误并等待修复?
修改:添加了屏幕截图。这些都是dojox/mobile/tests/test_ComboBox-widepage.html
。点击查看全尺寸。
答案 0 :(得分:2)
据我所见,这似乎与https://bugs.dojotoolkit.org/ticket/18317涵盖的问题相同。该修补程序已在存储库的主服务器中可用,并将在1.10.3中提供。您可能希望测试一下此修复程序(https://github.com/dojo/dojox/commit/86d34bcd9b6b11bf23a1ed080398a8067a4b349c)。
那就是说,我认为本身并不认为打开ComboBox下拉列表时页面滚动的事实可以被视为缺陷,也不认为下拉列表显示在顶部或底部的事实输入元素。作为上述解决方案的替代方案,您可能希望查看是否添加
registry.byId('dropDown').set("dropDownPosition", ["above"]);
更符合您的需求。