Android浏览器:以编程方式更改聚焦输入值

时间:2012-12-05 14:22:07

标签: javascript android jquery

我正在尝试在文本输入上强制执行日期格式(00/00/0000)

(输入的maxlength =“10”,验证单独处理)。

这是我使用的代码(jQuery):

        $(function() {

            $('input').live('keydown keyup', function(e) {

                var str = $(this).val(), len = str.length;

                if (e.which != 8) { /* Backspace */

                    if (len == 2 || len == 5) {

                        str += '/';

                        $(this).val(str);
                    }   
                }
            });
        });

除了Android本机浏览器和三星Galaxy Tab 10.1上的Dolphin浏览器外,我测试的每个地方都能正常工作

问题是你无法在聚焦时改变输入值:一旦焦点丢失,斜杠会出现在字符串的末尾。

此错误记录在案:http://code.google.com/p/android/issues/detail?id=39569

当价值需要更新时,一个有点hacky的解决方案会失去并重新获得焦点,但这会让你每次都丢失键盘。

关于我如何找到绕过这个bug的方法的任何建议?

1 个答案:

答案 0 :(得分:0)

你可以尝试这个插件:

http://digitalbush.com/projects/masked-input-plugin/

并指定:

$("input").mask("99/99/9999");

我自己没有测试三星平板电脑。