关于中文输入法的问题

compositionstart 事件触发于一段文字的输入之前可理解为:当浏览器有非直接的文字输入时触发。

compositionend      事件触发于一段文字的输入之后可理解为:当浏览器是直接的文字输入时触发

在遇到input事件与中文输入法的问题可以用以下方案解决:

var cpLock = false;

node.addEventListener('compositionstart', function(){

  cpLock = true;

})

node.addEventListener('compositionend', function(){

   cpLock = false;

   if(!cpLock) console.log(this.value);

})

node.addEventListener('input', function(){

  if(!cpLock) console.log(this.value);

});

posted @ 2017-10-27 14:49  Y~forward  阅读(177)  评论(0编辑  收藏  举报