0
这一定很容易,但由于我可怜的jQuery技能,我真的陷入困境,无法解决问题。在输入时添加带有转换字符的输入字段,JQUERY
目标是当用户在输入字段中键入时,将拉丁字符转换为大写希腊字符。
看起来我非常接近,但我的问题是,我将拉丁字符和希腊字符组合在一起进行单个按键事件。这里是我的小提琴https://jsfiddle.net/harman79/dymtufy8/
HTML:
<input type="search" id="search-id">
JQUERY:
$("#search-id").bind('keyup', function(e) {
var charMap = {
65: 913,
66: 914,
67: 936,
68: 916,
69: 917,
70: 934,
71: 915,
72: 919,
73: 921,
74: 926,
75: 922,
76: 923,
77: 924,
78: 925,
79: 927,
80: 928,
81: 931,
82: 929,
83: 931,
84: 932,
85: 920,
86: 937,
87: 937,
88: 935,
89: 933,
90: 918
};
$.each(charMap, function(index, value) {
if (index == e.which) {
$("#search-id").val(function(index, val) {
return val + String.fromCharCode(value);
});
}
});
});
如果我更换return val + String.fromCharCode(value);
与return String.fromCharCode(value);
我只得到我的转换后的文字,但每个新的keyup取代以前输入的内容。
任何hep将不胜感激! 哈利
非常感谢队友!让我放松。看起来,我将不得不用keydown替换我的keyup以获得更快的转换响应,但是现在所有的逻辑都在那里了.. – harman
是的,keydown会是你想要的最好的选择。 – KiiroSora09