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