Javascript具有三个按键事件,分别是按键,按键和按键按下。
由于某些原因,Sencha Touch仅支持它们的键入事件。我想捕获事件(可能是按下按键或按下按键),然后再更改文本字段中的值。捕获keydown事件将使之成为可能,并且它应该要快得多。使用keyup效果会有点慢。
最后,目标是允许用户仅输入数字并自动添加小数点和千位分隔符。目前可以通过keyup事件来实现,但是很慢。作为用户,您可以看到文本在更改,然后又被更改。
我的将keydown事件添加到文本字段的代码:
initialize: function()
{
this.down('textfield[name=amountTotal]').onkeydown
= MyApp.app.getController('MyController').handleInput;
}
我检查了执行此代码时是否找到了文本字段,并且控制器功能确实保存了我要执行的正确功能。我还将该功能添加到了我的视图文件中。
但是它不会到达我的handleInput函数。
我知道Sencha不支持其他事件,但是仅使用纯Javascript应该可以实现。
差不多了
initialize: function() {
var textfield = this.down('textfield[name=amountTotal]');
textfield.bodyElement.dom.onkeydown = MyApp.app.getController('MyController').handleInput;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句