jquery: quando scatto un div, dare fuoco a una casella di testo
-
02-10-2019 - |
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.
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.