焦点输入上的Mobile Safari jQuery select()不起作用

时间:2013-04-10 13:23:07

标签: jquery ios ipad select focus

此问题出现在移动版Safari的iPad IOS6上。

当用户点击输入时,我不想自动选择输入中的文本。

我有一个适用于常规浏览器的解决方案,例如Chrome:

        $(document).ready(function() {
        //Select text on focus for input
        $("input:text").focus(focustext);
    });
    function focustext() {
        var input = $(this);
        setTimeout(function() { 
            input.select();
        },100);
    }

但这不适用于Safari Mobile。

我已经阅读了几个关于此的主题,例如: Workaround to Webkit[Chrome/Safari] javascript select on focus bug (when using tab between fields) Selecting text on focus using jQuery not working in iPhone iPad Browsers

我已经在一个简单的假人中测试了建议的溶剂,但是我无法在iPad上使用它们。 http://kraner.se/customers/test.html

我希望得到一个有效的解决方案。 任何人吗?

1 个答案:

答案 0 :(得分:3)

我将javascript更改为此(更改了文本选择的方式以及如何获取输入变量):

        $(document).ready(function() {
        //Select text on focus for input
        $("input:text").focus(focustext);
    });
    function focustext() {
        var input = this;
        setTimeout(function () {
            input.selectionStart = 0;
            input.selectionEnd = input.val().length;
        },100);
    }

现在它的作用是有意的。输入类型=数字似乎不起作用。

我已经在iOS6和iOS7上对此进行了测试,它也适用于Windows 7上的最新Chrome和IE浏览器。但是,在兼容模式下的IE无效。