Domanda

$('.my-button').click(function() {
    $(".my-textbox").focus()
});

Prima di Jquery 1.4 questo era il modo di chiamare messa a fuoco per una casella di testo, ora non funziona. Quando clicco il bottone, voglio chiamare attenzione alla casella di testo, ciò che intendo per "focus", è che voglio la casella di testo di agire come se fosse stato appena cliccato su, in modo che l'utente non dovrà cliccare sulla casella di testo .

.focus dovrebbe fare un auto click sulla casella di testo lo voglio, perché non è vero ora di lavoro? si è rotto in jQuery 1.4. Ho solo bisogno di sapere come fare.

È stato utile?

Soluzione

Funziona ancora. Vedere qui .

di riferimento: jQuery documentazione messa a fuoco

Come accennato là, chiamando 'focus' su un elemento può innescare 'sfocatura' su un altro -. E così l'uso 'focusIn' invece

Altri suggerimenti

Il tuo codice funziona bene per me . Tuttavia, sembra che si sta cercando di creare un'etichetta cliccabile per un elemento di input. Se questo è il caso, c'è un elemento esistente denominato <label> che farà il lavoro per voi, senza Javascript richiesto:

<label for="myTextBox">I'm a label, click me</label>
<input type="text" id="myTextBox" />

Esempio: http://jsfiddle.net/pkk6y/

Questi sono i selettori di classe non gli ID - non so se questo è rilevante, ma sono intrinsecamente non unico - in particolare nella funzione di messa a fuoco di jQuery può rifiutare semplicemente - provare a utilizzare gli ID (e #mybutton, #mytextbox)

Aggiornamento: Il pagina doc jQuery punti su problemi con IE:

  

L'evento di messa a fuoco non lo fa in bolla   Internet Explorer. Pertanto, gli script   che si basano su delega evento con la   manifestazione messa a fuoco non funziona in modo coerente   tra i vari browser.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top