私のnubmerfieldにしたい場合は、「、」を取り、「。」に変換します。キーアップ時に。Numberfieldでは、「、」を入力できません。そして、「specialkey」を処理して「。」を追加したい。手動で。しかし、「、」は特別なキーではありません。そこに追加する方法は?
質問する
3779 次
2 に答える
1
「,」を「.」に変換したい場合 キーアップ時に、なぜ「specialkey」イベントで処理したいのですか? 「keyup」イベントを使用しないのはなぜですか?
次に例を示します。
Ext.create ('Ext.window.Window', {
renderTo: Ext.getBody () ,
width: 300 ,
height: 150 ,
title: 'It works!' ,
items: [{
xtype: 'numberfield' ,
enableKeyEvents: true ,
fieldLabel: 'Age' ,
listeners: {
keyup: function (nf, evt) {
// 188 is ','
if (evt.getKey () == 188) {
nf.setRawValue (nf.getRawValue () + '.');
}
}
}
}]
}).show ();
それ以外の場合は、disableKeyFilterプロパティを使用して、ユーザーが .&*% などの特殊文字を挿入できるようにし、「,」を「.」に置き換える方法を見つけることができます。
ちなみに、特別なキーイベントで「,」を処理したい場合は、次のトリックがあります。
Ext.create ('Ext.window.Window', {
renderTo: Ext.getBody () ,
width: 300 ,
height: 150 ,
title: 'It works!' ,
items: [{
xtype: 'numberfield' ,
enableKeyEvents: true ,
fieldLabel: 'Age' ,
listeners: {
keyup: function (nf, evt) {
// 188 is ','
if (evt.getKey () == 188) {
// Fire 'specialkey' up passing ','
nf.fireEvent ('specialkey', nf, evt);
}
} ,
specialkey: function (nf, evt) {
// Here we are!
alert (evt.getKey ());
}
}
}]
}).show ();
于 2012-09-07T23:32:05.127 に答える