var e = evt || window.event,
key = e.keyCode || e.which
if (
// Backspace, Tab, Enter, Esc, Delete
key == 8 || key == 9 || key == 13 || key == 27 || key == 46 ||
// Ctrl + A
(key == 65 &&event.ctrlKey === true) ||
// Home, End, 四个方向键
key >= 35 &&key <= 40) {
return
}
if (e.shiftKey || e.altKey || e.ctrlKey) {
return false
}
var el = e.target || e.srcElement,
// 最大数字长度
nl = el.getAttribute("data-numbers") || 15,
// 最大小数长度
dl = el.getAttribute("data-decimals") || 2,
val = el.value,
// "." 位置
dotIndex = val.indexOf("."),
rng = caret.call(el),
// 光标在"."左边
rLeft = rng.end <= dotIndex,
// 光标在"."右边
rRight = rng.begin >dotIndex
if (
// 数字
key >= 48 &&key <= 57 ||
// 数字键盘输入的数字
移动开发不同手机d出数字键盘问题 最近在做手机页面时,遇到数字输入的键盘的问题,之前的做法只是一刀切的使用 type="tel",不过一直觉得九宫格的电话号码键盘上的英文字母太碍事了。于是想要尝试其它的实现方案,最终的结论却令人沮丧。不过也趁机详细了解了下pattern这个属性。 type="tel" 和 type="number" 的区别这里还是先那么先交代一下最初遇到的问题。其实无论是tel还是number都不是完美的:
type="tel"
在chrome下:input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
-webkit-appearance: none !important
margin: 0
}
Firefox下:
input[type="number"]{-moz-appearance:textfield}
第二种方案:
将type="number"改为type="tel",同样是数字键盘,但是没有箭头。
原文链接:http://stackoverflow.com/questions/3790935/can-i-hide-the-html5-number-input-s-spin-box
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)