fastclick input框有值时点击input框焦点不在值的最后面而是在最前面,需要修改fastclick源码,修改有两处
1.FastClick.prototype.needsClick方法里
case 'button':
case 'select':
case 'textarea':
if (target.disabled) {
return true;
}
break;
case 'input':
// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
if ((deviceIsIOS && target.type === 'file') || target.disabled) {
return true;
}
// focusPositionInit用于在fastclick中input框有值并且focus时错位问题
if ((/\bfocusPositionInit\b/).test(target.className) && (target.type === 'number') && target.value.length > 0) {
return true;
}此处为增加的代码,相应的input可以设置相应的类名focusPositionInit来屏蔽是否使用修改过后的代码<input type="number" class="focusPositionInit" value="2" >
此处的类型为number,也可以改为text当然上面的也要修改相应的type为text
2.FastClick.prototype.needsFocus方法里
case 'input':
switch (target.type) {
case 'button':
case 'checkbox':
case 'file':
case 'image':
case 'radio':
case 'submit':
return false;
}
// No point in attempting to focus disabled inputs
return !target.disabled && !target.readOnly && (target.value.length == 0);