ExtJS::如何添加特定的"specialkey事件”;表示逗号到数字字段
ExtJS:: How to add specific "specialkey event" for comma to numberfield?
如果要我的nummerfield取",",并在键向上时将其转换为"."。Numberfield不允许在其中输入","。我想手动处理"specialkey"并添加"."。但是","并不是特别的键。如何在那里添加?
specialkey: function(field, e){
// e.HOME, e.END, e.PAGE_UP, e.PAGE_DOWN,
// e.TAB, e.ESC, arrow keys: e.LEFT, e.RIGHT, e.UP, e.DOWN
if (e.getKey() == e.TAB) {
//Do specific action
}
}
如果要将","转换为"。"在key up上,为什么要用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属性来允许用户插入特殊字符,如&*%等,然后找到一种方法将","替换为"。"
顺便说一句,如果您想用specialkey事件处理",",这里有一个技巧:
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 ();
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- $window.ga在AngularJS事件中未定义
- ExtJS::如何添加特定的"specialkey事件”;表示逗号到数字字段
- MVC控制器中的ExtJS specialKey事件