您好 我想改变键盘的行为,所以当用户在输入框上按下键时,键盘就会出现问题。 a = 97它变为b 97 + 1.
我希望它用于跨浏览器
答案 0 :(得分:1)
jQuery.keypress
会在用户输入内容时为您提供事件,String.fromCharCode
会为您提供字符+1。棘手的部分是处理选择。
为了获得选择,我使用了jQuery field selection插件,并确保它不会一直跳到我使用this answer to another question的结尾。这是最终的代码:
$(function() {
$("#target").keypress(function (evt) {
if (evt.which >= 65 && evt.which <= 122) {
var sel = $(this).getSelection();
var val = $(this).val();
var out = val.substring(0, sel.start) + String.fromCharCode(evt.which+1) + val.substring(sel.end, val.length);
$(this).val(out);
$(this).selectRange(sel.start + 1, sel.start + 1);
return false;
}
});
});
我将其限制为a-zA-Z,但您可以根据需要自定义。
答案 1 :(得分:0)
我在Firefox和Chrome中测试过以下内容。使用“keypress”允许使用其他键,使用charCode允许使用小写和大写字母:
document.getElementById("textbox").addEventListener("keypress",function(event){
event.preventDefault();
this.value+=(String.fromCharCode(event.charCode+1))
},false);
我刚才看到了jQuery标签,所以你也可以这样做:
$("#textbox").bind("keypress",function(event){
event.preventDefault();
this.value+=(String.fromCharCode(event.charCode+1));
});