我試圖可靠地檢測中文字符何時插入到文本框中。如果我將keyup,keydown和keypress處理程序添加到輸入字段,則當用戶從IME(輸入法編輯器)選擇中文字符時,不會觸發任何事件。例如,在Mac /火狐中國簡體pinyan如果I型:Javascript - 檢測像Google文檔這樣的中文字符輸入
妮然後打1
我只收到「n」和關鍵彌補「1」 keydown事件。沒有按鍵事件被激發。注意:我使用GWT,但我認爲這不重要。
我很好奇Google文檔如何做到這一點。我特別注意到了中文,將'n'字符作爲文本附加到類爲「docs-texteventtarget-iframe」(但不是'i')的隱藏iframe中。我想他們會這樣做來檢測何時插入中文字符。
Google文檔如何知道輸入語言已更改爲中文?例如,如果我的輸入語言是英語,而且輸入「n」,則不會將其附加到該隱藏的iframe。有沒有什麼常用的技巧來檢測漢字的關鍵事件?
您是否嘗試添加更改處理程序? –