2013-04-10 2 views
5

Questo problema riguarda iPad IOS6 in Safari mobile.Safari mobile jQuery select() sull'ingresso di messa a fuoco non funziona

Non voglio che il testo in un input sia selezionato automaticamente quando l'utente fa clic sull'input.

Ho una soluzione che funziona in un normale browser, come Chrome:

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

Ma questo purtroppo non si lavora in Safari Mobile.

Ho letto diversi thread su questo, per esempio: 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

Ho testato suggerito sollution in un semplice manichino, ma non posso ottenere qualsiasi di loro di lavorare su iPad. http://kraner.se/customers/test.html

Mi piacerebbe ottenere una soluzione divertente per questo. Chiunque?

risposta

3

ho cambiato il javascript per questo (cambiato il modo selezione di testo è fatto e come ottenere variabile di ingresso):

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

ed ora funziona come intented. gli input con type = number non sembrano funzionare.

L'ho provato su iOS6 e iOS7, e funziona anche su Chrome e IE su Windows 7. IE in modalità compability non funziona, però.

+0

THX;) Infine una soluzione divertente! – Turbojohan

+1

Non funziona su iPhone 5S .. – whirlwin

+1

Un piccolo problema, dovrebbe essere 'input.value.length' invece di' input.val(). Length'. – niftylettuce