我有输入文本字段,只允许+/-十进制值。我使用keydown事件来检查键值并防止不正确的值。 它适用于所有浏览器,除了Windows手机上的IE
$('#input_Value').bind('keydown', function (e) {
var allowedkeys = [8, 37, 39, 46];
var position = $(this)[0].selectionStart;
var newVal = $(this).val().slice(0, position) + String.fromCharCode(e.keyCode) + $(this).val().slice(position);
var regex = /^(\-)?(\d{1,3})?(\,)?(\d{1,3})?(\,)?(\d{1,3})?(\,)?(\d{1,3})?(\.)?(\d){0,10}$/i;
if (newVal == "-" || allowedkeys.indexOf(e.keyCode) > -1)
return true;
else if (!(regex.test(newVal) && parseFloat(newVal))) {
if (e.preventDefault) e.preventDefault();
else e.returnValue = false;
return false;
}
}
如何在Windows手机IE上阻止默认?