【问题标题】:Javascript - keydown event not working in androidJavascript - keydown 事件在 android 中不起作用
【发布时间】:2016-10-25 06:38:52
【问题描述】:

我创建了这个脚本,它不允许用户在输入字段中输入超过两位小数。

  var limit = 2;
  jQuery("input.number").keydown(function(e) {
    if(!isNaN(String.fromCharCode(e.which))){
      var inputVal = jQuery(this).val();
      if(inputVal.indexOf(".") > -1){
        var splitted = inputVal.split(".");
        var decimalCount =  splitted[1].length;
        if(decimalCount >= limit){
           e.preventDefault();
        }    
      }         
    }         

    });

该脚本在桌面上运行良好,但当我在 Chrome for Android 中对其进行测试时,它似乎不起作用。我尝试将事件更改为“on”、“keypress(已弃用)”,但没有一个选项可以解决问题。有人可以帮帮我吗?

更新 1:
我刚刚注意到该脚本仅在桌面上也不适用于数字键盘。如果我尝试从键盘的右小键盘键入,则脚本不起作用。另一方面,如果我从功能键“f1-f12”正下方的顶部数字中键入数字,则脚本可以工作。也就是说,在移动设备中,它也会打开小键盘。猜猜这就是问题所在。

【问题讨论】:

  • 我认为您应该将按键用于触摸事件:stackoverflow.com/questions/9940829/…
  • “脚本在桌面上完美运行” - 真的吗?如果用户不使用键盘修改字段值怎么办?
  • @StephanHuewe,谢谢你的链接。我现在就试一试。
  • @nnnnnn,如果你能解释一下,我肯定会相应地更新脚本。谢谢。

标签: javascript android


【解决方案1】:

包含 jQuery Mobile 文件

您需要做的只是在您的项目中包含一个 jQuery 文件。一个名为 jQuery.mobile.js 或任何版本的非常相似的文件(例如 jQuery.ui.js)可以帮助你。

您可以从以下地址下载:Download | jQuery Mobile 我想建议在提供此文件的路径时使用 ResolveUrl。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    相关资源
    最近更新 更多