javascript - Jquery preventDefault 在 android 4.4 默认浏览器上不起作用

标签 javascript android jquery html angularjs

我正在使用基于 Angular 和 jquery 的网站。我有一个用于验证 float 数组的文本输入字段。我的要求是限制用户输入字母等。

问题是我正在使用 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;
  }
});

Working fiddle

注意:- 我不能使用 keypress 事件,因为 android 默认浏览器无法监听此事件。

最佳答案

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

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

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

您可以将需要允许的其他字符添加到正则表达式。希望对您有所帮助。

关于javascript - Jquery preventDefault 在 android 4.4 默认浏览器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30253404/

相关文章:

android - 录制语音后获取访问麦克风的权限提示

android - 使用 PagerSlidingTabStrip 时出现 InflateException

javascript - 使用 javascript 屏蔽 HTML 中的输入

java - ajax javascript 复选框更改不起作用

javascript - Javascript 读取 ASP 列表框

javascript - 尝试将 xml 节点值中的小数四舍五入为两位数

android - 如何使用自定义布局作为 RadioButton 标签

javascript - 如何按字母顺序对div的内容进行排序?

javascript - setTimeout 干扰加载事件处理程序的问题

javascript - MobX + react native : way to inject stores