Na normalnej stronie internetowej <input type="text"/>
W Firefoksie możesz kliknąć w dowolnym miejscu elementu, a przeglądarka "skupi się" na tym elemencie. Na XUL (rozszerzenie Firefox) <textbox>
element jednak tylko klikając na lewa część krawędzie pola tekstowego skupią go; kliknięcie gdziekolwiek indziej na tym nic nie robi.
Uważam to za naprawdę denerwujące, szczególnie biorąc pod uwagę, w jaki sposóbelementy wejściowe w Firefoksie działają normalnie; Mam lepszy interfejs użytkownika ze stroną internetową niż z rozszerzeniem przeglądarki! Czy ktoś wie o sposobie naprawienia tego zachowania (myślałem, że mógłbym zrobić funkcję onClick = "function () {this.focus ()}" rzecz, ale to wydaje się tak odurzające, więc naprawdę miałem nadzieję, że jest lepszy sposób ...)
Odpowiedzi:
0 dla odpowiedzi № 1W końcu wymyśliłem obejście, chociaż wciąż jestem zaskoczony, że nie jest to mniej hackowy sposób rozwiązania tego problemu.Jeśli ktoś ma "prawdziwą" poprawkę, z radością udzielę im odpowiedzi.
<textbox id="foo" onclick="focusFunction("foo")"/>
function focusFunction(id) {
document.getElementById(id).focus("")
}
0 dla odpowiedzi nr 2
Więc ... to trochę zawstydzające, ale pomyślałem, że powinienem podzielić się tym, jak w końcu rozwiązałem problem prawidłowo. Jak się okazuje, elementy XUL zwykle koncentrują się na kliknięciu. Problem, jak odkryłem, polegał na tym, że jeśli umieścisz te elementy wewnątrz innego elementu, w którym nie powinny znajdować się, następnie przestają być właściwie skupieni. W moim przypadku miałem **** westchnienie **** następujące:
<groupbox align="start">
<caption label="Test"/>
<radiogroup>
zawijając całą zawartość mojego dokumentu (i nawet ich nie zamknąłem, był to po prostu straszny, nie zauważony błąd kopiowania / wklejania).
Tak więc, jeśli uważasz, że potrzebujesz kodu w mojej pierwszej odpowiedzi, najpierw sprawdź pliki XUL: problem jest prawdopodobnie Twój własny kod.