在輸入框或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