在输入框或contenteditable = true div中,如何修改字母“a”的按键以返回字母“b”的按键?也就是说,每次在div中键入字母“a”时,输出实际上都是字母“b”。更改按键
我不是那种在IE中工作的解决方案 - 只有一种适用于Safari,Chrome,& FF。
在Chrome中,我可以看到按键事件具有属性“charCode”,“keyCode”和“which”,所有这些都被分配了按键事件编号。如果我在按键上触发了一个事件,我可以修改这些值,但我无法弄清楚返回的内容,因此键入的实际键是不同的。例如:
$(window).keypress(function(e){ //$(window) is a jQuery object
e.charCode = 102;
e.which = 102;
e.keyCode = 102;
console.log(e);
return e;
});
我也可以看到,则charCode,其中,和键一起,还有一个“originalEvent”属性,它反过来也具有这些特性。但是,我一直无法修改这些(我尝试了诸如e.originalEvent.charCode = 102之类的东西)。
谢谢蒂姆。您在第一个链接中写入的函数insertTextAtCursor()可以做到这一点! – maxedison 2011-01-06 03:37:27
非常感谢蒂姆,我完成了一天研究案例“如何将关键字更改为英语?”但我没有找到优化&小&Intelligible,直到找到你的答案。 – 2014-04-07 04:49:24
我将实施“非IE jsFiddle示例”,并在堆栈和gitbub中共享,以帮助每个人。 实现支持所有其他语言。 再次感谢。 – 2014-04-07 05:00:08