【问题标题】:Selectfield stuck in Sencha Touch & events not firing on selectionSelectfield 卡在 Sencha Touch 中,事件未在选择时触发
【发布时间】: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 上,我将侦听器放在以下事件上,作为捕获选择更改并强制hideblur 的一种手段,但事实证明,它们只在桌面上触发(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


    【解决方案1】:

    埃加德。所以事实证明,虽然没有在桌面浏览器中渲染,但selectfield移动渲染显示了一个一组“完成”和“取消”按钮。

    由于桌面版本在选择时工作而不显示这些确认按钮,我忘记了selectfield 的移动渲染显示确认按钮,而不是能够在选择器外部点击/单击或在进行选择时清除掩码。

    在我的特殊情况下,我有一些 CSS 工具栏规则会遮挡 selectfield 选择器中的按钮。

    因此,只需找到合适的 CSS 选择器来显示在移动设备上隐藏的按钮(尽管在桌面上不是必需的或可见的)。

    /* Override toolbar padding for selectfield confirmation toolbar */
    .x-picker .x-toolbar .x-layout-box-inner {
        margin-top: -35px;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多