一尘不染

jQuery preventDefault不适用于android 4.4默认浏览器

angularjs

我正在使用基于角度和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默认浏览器无法监听此事件。


阅读 230

收藏
2020-07-04

共1个答案

一尘不染

我在Android上的默认浏览器中也遇到了这个问题。preventDefault对我没有帮助,所以我在jQuery函数上使用了.on。

    $('#test').on('input',function () {
        var inputText = $(this).val();

        var resultText = inputText.replace(/[^0-9]/g, '');
        $(this).val(resultText);
    });

您可以在正则表达式中添加需要允许的其他字符。希望能帮助到你。

2020-07-04