2013-04-10 91 views
5

这个问题是在移动Safari的iPad IOS6。移动Safari jQuery选择()焦点输入不工作

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

我有一个在普通浏览器的工作原理,例如Chrome浏览器的解决方案:

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

但这isn't在Safari移动工作。

我看了一下这几个线程,例如: 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

我已经测试在一个简单的虚拟建议sollution,但我不能让任何一个对iPad上运行。 http://kraner.se/customers/test.html

我想为此得到一个工作溶剂。 有人吗?

回答

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); 
    } 

,现在它可以作为intented。类型=数字的输入似乎不起作用。

我已经在iOS6和iOS7上测试了它,并且它也适用于最新的Chrome和Windows 7上的IE浏览器。但是,在兼容模式下IE不起作用。

+0

THX;)最后一个工作溶剂! – Turbojohan 2013-10-21 06:22:31

+1

不适用于iPhone 5S .. – whirlwin 2015-11-04 09:35:35

+1

一个小问题,它应该是'input.value.length'而不是'input.val()。length'。 – niftylettuce 2016-07-17 21:25:55