输入数字后才能选择文本
这个问题似乎发生在基于webkit的浏览器(chrome和safari)中。 不是Firefox。
在将某些输入字段限制为只有数字和a之后:
我不再能够选择文本或使用箭头键将光标移动到左侧。 输入被取消选择或者在光标的情况下:它被移动到输入的末尾。 (我可以将光标放在字符串的某处,方法是用鼠标单击它)
使用的代码:
$('#from, #to, #rate, #break').keyup(function () {
this.value = this.value.replace(/[^0-9:.]/g,'');
});
小提琴中的示例:http://jsfiddle.net/PaulvdDool/EKYBr/
我做错什么了吗? 这是一种消极的副作用,我无能为力? 或者有没有办法让文本选择和光标移动成为可能?
当您覆盖该值时,脱字符会自动转到输入的末尾。
只有在需要时,您需要做的就是覆盖该值。 即类似于:
$('#from, #to, #rate, #break').keyup(function () {
switch(e.which) {
case 37:
case 38:
case 39:
case 40: break;
default: this.value = this.value.replace(/[^0-9:.]/g,'');
}
});
演示
您每次覆盖该值。 你最好拿到钥匙,不要让用户输入。
$('#time').keydown(function (event) {
// 48-56 => 0-9 | 58 = ":"
if((event.keyCode < 48 || event.keyCode > 56) or event.keyCode != 58)
{
event.preventDefault();
}
});
检查这个小提琴
链接地址: http://www.djcxy.com/p/68451.html