Zawsze, gdy wpiszesz coś w poniższym polu tekstowym Wstaw hiperłącze, wszystkie słowa będą za nim textarea
. Przyciski OK i Anuluj działają poprawnie, ale nie mogę ustawić ostrości na wprowadzanie tekstu.jQuery UI Focus Kradzież
Używamy jQuery UI 1.10.1. Dobrze działało z poprzednią wersją jQuery, która wynosiła 1.8.x.
Sprawdziłem kod za jQuery i ma następujące metody zwane kiedy otwarcie modalnego okna dialogowego:
_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);
},
że pochodzi stąd: http://code.jquery.com/ui/1.10.1/jquery-ui.js
Interesujące ... Mam podobny problem z tagami zakotwiczonymi w oknie dialogowym z paskiem przewijania w przypadku zawartości pionowej. Jeśli przewińę w dół i kliknę gdziekolwiek w oknie dialogowym, fokus przewinie się do najwyższego znacznika kotwicy w oknie dialogowym. Wyśledziłem to do kodu, do którego się odwołujesz, ale nie czuję się swobodnie komentując tego kodu ... ani nie powinnam ... i czuję, że rozpinanie jest brudne. – incutonez
To jest błąd w interfejsie jQuery: http://bugs.jqueryui.com/ticket/9101. Powinny zostać naprawione w następnej wersji. – Noyo
Ten błąd został naprawiony w jQuery UI 1.11.0. To jest wersja, której używam, ale nadal obserwuję ten problem. –