当我的用户按“。”时。我需要浏览器显示“,”。按键事件或按键事件中的其他按键更改按键
我打算利用这个ExtJS的代码买不工作:(
Ext.EventManager.on(document, 'keypress', function(evt, t, o) {
if (evt.keyCode == 46) { // .
evt.keyCode = 44; // ,
}
});
任何想法?
当我的用户按“。”时。我需要浏览器显示“,”。按键事件或按键事件中的其他按键更改按键
我打算利用这个ExtJS的代码买不工作:(
Ext.EventManager.on(document, 'keypress', function(evt, t, o) {
if (evt.keyCode == 46) { // .
evt.keyCode = 44; // ,
}
});
任何想法?
你正在改变事件的价值,这是不会改变的价值。得到的线
此时应更换.
为,
的字符串亚特您捕捉事件:
Ext.EventManager.on(document, 'keypress', function(evt, t, o) {
if (evt.keyCode == 46) { // .
resultantString.replace('.', ',');
}
});
显然,这是行不通的,因为你只是改变keyCode。这不会以某种方式反映在屏幕上。您必须找到导致事件的元素并将其文本设置为(无论之前是什么)+(删除。)+(,)
当然,这是很长的路要走。我希望有人有一个更短的路。
Obsviosly,我知道这是行不通的。我无法实现您的解决方案,在按键事件中,我的控件没有任何“。”。但...我无法改变它。 – 2012-03-16 13:47:18
-1表示“明显”,但+1表示在哪里更改结果字符串。 – 2014-07-04 10:18:22
好的,我使用't.value = t.value.replace('。',',');'但我没有看到结果。 – 2012-03-16 13:45:07
我不知道谁投了积极的,但你的代码不起作用。句柄结果是未定义的。 – 2012-03-20 11:37:34
当然这是不确定的。这是一个带有通用名称的变量,您应该按照需要的方式将其命名,以便代码正常工作! – 2012-03-20 11:47:16