问题描述
例如:最近在写html5专题页面时候,遇到*input *,用苹果自带输入法会出现自动多打重复字问题。
<input type="text" name="name" placeholder="" class="particiapteform_input workName" onkeyup="value=value.replace(/[^\w\s/]/ig,'').replace('\<1[1-15]\>')" />
原因分析:
苹果自动输入好提前预输入的造成的
解决方案:
提示:监听时候输入重组新的数据
var cpLock = false;$('body').on({input: function(e) {testX(e);},compositionstart: function() {cpLock = true;console.log('compositionstart')},compositionend: function(e) {cpLock = false;console.log('compositionend')testX(e)}},'.workName');function testX(e) {if (!cpLock) {var newVal = '',pattern = /^[0-9a-zA-Z\s-]+$/;for(var key in e.target.value) {if (pattern.test(e.target.value[key])) {newVal += e.target.value[key]}}e.target.value = newVal;}}
如果觉得《js 解决移动端苹果自带输入法的连续输入多打重复字的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!