jQuery 在oninput中使用ajax 造成輸入法吃字

最近發現,在input text 中使用oninput
因為每出一個符號(輸入法)
就會觸發一次event
而我的狀況,我沒辦法檢查是否是完成的字
可能是因為連續觸發太多次
結果在輸入中文的時後,後面一個字就被吃掉了
實際原因還在尋找中。

--------------
目前發現可以使用compositionstartcompositionend
$('#text').on('input', function() { if($(this).prop('imeStart')) return;//中文輸入法啟動中 . . . }).on('compositionstart', function(){ $(this).prop('imeStart', true); console.log('中文輸入法啟動'); }).on('compositionend', function(){ $(this).prop('imeStart', false); console.log('中文輸入法结束'); });

但有點可惜,目前還是無法兼容所有瀏覽器,只能再找找看還有沒有其他更好的方法了

沒有留言:

張貼留言