我正在使用基于Angular和jQuery的网站。 我有一个文本输入字段,用于验证浮点数数组。 我的要求是限制用户输入字母等。
问题在于我正在使用e.preventDefault()
,但它在Android默认浏览器中不起作用,但在Android Chrome中完美运行。
我已经搜索了很多,但无法获得任何解决方案。
我的示例代码:
$('#test').keydown(function (e) {
e.stopPropagation();
e.preventDefault();
e.returnValue = false;
e.cancelBubble = true;
return false;
});
我也尝试过:
$('#test').keydown(function (e) {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
});
注意:我无法使用keypress
事件,因为Android默认浏览器无法监听此事件。
input type="number"
吗?它现在非常普遍:http://caniuse.com/#feat=input-number - Rory McCrossantype=number
,因为验证是针对可以接收 -/+/,/. 的数组浮点数的。数字键盘不允许我输入这些键。 - Sujata ChandapreventDefault
和stopPropagation
,在其上设置returnValue
或cancelBubble
是无意义的。 - T.J. Crowder