【问题标题】:Sencha Touch - add KeyDown event on NumberFieldSencha Touch - 在 NumberField 上添加 KeyDown 事件
【发布时间】:2015-12-22 18:56:54
【问题描述】:

几天来,我一直在努力让 KeyPress 或 KeyDown 事件在 Sencha Touch 文本字段上触发。

我正在尝试完成两件事: 1) 将最大长度限制为 3 和 2) 确保用户只输入数字(没有字母或特殊字符)

有没有办法使用 Javascript 来附加这些事件?我正在使用 Sencha 2.3.1

更新:我尝试过使用 numberfield 并使用 maxLength...都不行。

   var numberfield = 
    {
        xtype: 'numberfield',
        value: textValue,
        readOnly: true,
        cls: 'opBuyoffPartialCell',
        inputCls: 'opBuyoffCenterText',
        maxLength: 3,
        enforceMaxLength: 3
    };

【问题讨论】:

  • 为什么不能只使用numberfield 组件而不是文本字段,maxLength 为 3?

标签: javascript extjs sencha-touch-2.3


【解决方案1】:

正如@MonicaOlejniczak 所写,使用numberfield

如果你不想使用数字字段,至少看看它的代码,发现 Sencha 使用

this.getComponent().input.dom.setAttribute("type", "number");

确保用户只能输入数字。这样,您的代码允许的“数字”,,, 也将得到处理。

为了确保maxLength,sencha 已经有maxLength config,它在数字字段和文本字段中都可用。

【讨论】:

  • 遗憾的是,使用数字字段并不能阻止用户输入字母。此外,我尝试使用 maxLength - 它似乎对允许的条目数没有任何影响。我在上面粘贴了我更新的代码。
猜你喜欢
  • 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
相关资源
最近更新 更多