Ogni volta che si digita qualcosa nel seguente inserimento di testo Collegamento ipertestuale, tutte le parole andranno a textarea
dietro di esso. I pulsanti OK e Annulla funzionano correttamente ma non riesco a mettere a fuoco l'input di testo.jQuery UI Focus Stealing
Usiamo l'interfaccia utente di jQuery 1.10.1. Funzionava bene con la versione precedente di jQuery che era 1.8.x.
Ho controllato codice dietro di jQuery e ha i seguenti metodi chiamati quando si apre una finestra di dialogo modale:
_focusTabbable: function() {
// Set focus to the first match:
// 1. First element inside the dialog matching [autofocus]
// 2. Tabbable element inside the content element
// 3. Tabbable element inside the buttonpane
// 4. The close button
// 5. The dialog itself
var hasFocus = this.element.find("[autofocus]");
if (!hasFocus.length) {
hasFocus = this.element.find(":tabbable");
}
if (!hasFocus.length) {
hasFocus = this.uiDialogButtonPane.find(":tabbable");
}
if (!hasFocus.length) {
hasFocus = this.uiDialogTitlebarClose.filter(":tabbable");
}
if (!hasFocus.length) {
hasFocus = this.uiDialog;
}
hasFocus.eq(0).focus();
},
_keepFocus: function (event) {
function checkFocus() {
var activeElement = this.document[0].activeElement,
isActive = this.uiDialog[0] === activeElement ||
$.contains(this.uiDialog[0], activeElement);
if (!isActive) {
this._focusTabbable();
}
}
event.preventDefault();
checkFocus.call(this);
// support: IE
// IE <= 8 doesn't prevent moving focus even with event.preventDefault()
// so we check again later
this._delay(checkFocus);
},
che è preso da qui: http://code.jquery.com/ui/1.10.1/jquery-ui.js
Interessante ... Sto riscontrando un problema simile con i tag di ancoraggio in una finestra di dialogo con una barra di scorrimento per il contenuto verticale. Se si scorre verso il basso e si fa clic in qualsiasi punto della finestra di dialogo, lo stato attivo torna al tag di ancoraggio più in alto nella finestra di dialogo. L'ho rintracciato nel codice a cui stai facendo riferimento, ma non mi sento a mio agio nel commentare quel codice ... né dovrei farlo ... e ho l'impressione che lo slegamento sia sporco. – incutonez
Questo è un bug nell'interfaccia utente di jQuery: http://bugs.jqueryui.com/ticket/9101. Dovrebbe essere risolto nella prossima versione. – Noyo
Questo bug è stato risolto nell'interfaccia utente jQuery 1.11.0. Questa è la versione che sto utilizzando, ma continuo a osservare questo problema. –