cleave.js
cleave.js copied to clipboard
Fix duplicate numbers are entered when input number with microsoft pinyin
thanks to @kingller 's committed : #663 the issue seem related to windows IME which confused me a lot for guys using cleave.js via javascript, a simple patching way until fixed release maybe
var oldCleaveInit = Cleave.prototype.init;
var oldCleaveOnChange = Cleave.prototype.onChange;
Cleave.prototype.init = function() {
var owner = this;
oldCleaveInit.apply(this);
owner.element.addEventListener('compositionstart', function() {
owner.isComposition = true;
});
owner.element.addEventListener('compositionend', function(event) {
owner.isComposition = false;
owner.onChange(event);
});
};
Cleave.prototype.onChange = function(event) {
var owner = this;
if (this.isComposition) {
owner.properties.result = event.target.value;
owner.updateValueState();
return;
}
oldCleaveOnChange.apply(this, [event]);
};
OK. Thanks.