【发布时间】:2013-09-02 06:45:43
【问题描述】:
我有一个selectfield 可以在桌面上完美运行(滚动、选择、触发正确的事件、更新相应的字段等),但在移动设备上运行时不会在选择后消失(iPhone)。
在进行选择时,选择字段“滚轮”不会消失,甚至在点击遮罩(在滚动选择器区域之外)时也不会消失。同样,这只发生在移动设备上,在桌面设备上完全没问题。
听起来像一个框架错误?继续阅读以获取更多线索...
{
xtype: 'selectfield',
id: 'editor-page',
name: 'page',
label: 'Page',
labelWidth: 70,
options: [
{text: 'N/A', value: 'N/A'},
{text: '1', value: '1'},
{text: '2', value: '2'},
{text: '3', value: '3'}
// ...
]
}
我尝试过的事情(没有运气)
根据我在网络上看到的类似问题,我尝试过设置
showAnimation: 'false'。强制
hideOnMaskTap: 'true'(即使它应该是默认的)设置
modal: 'true'-
设置
stopMaskTapEvent: 'false'(允许在选择器外部进行点击)(以及......以上的每一种组合,以防框架怪癖或我对它们相互依赖的误解。)
Selectfield 事件在桌面设备上触发,但在移动设备 (iPhone) 上不触发?
在selectfield 上,我将侦听器放在以下事件上,作为捕获选择更改并强制hide 或blur 的一种手段,但事实证明,它们只在桌面上触发(Chrome ) 而不是在移动 Safari 中。
listeners: {
'render': function (thisComponent) {
alert("select!");
thisComponent.blur();
},
'action': function (thisComponent) {
alert("action!");
thisComponent.blur();
},
'select': function (thisComponent) {
alert("select!");
thisComponent.blur();
}
}
最后,我不想承认,但是是的,我使用的是 Sencha Touch 1.1.0
*喘气!哦,恐怖!*
此时,项目可能没有足够的时间考虑迁移到 2.x 的所有后果。因此,如果我绝对必须解决这个问题,这是我在潜入迁移之前的最后一次努力。
【问题讨论】:
标签: javascript iphone extjs sencha-touch