Mam element listy z wydarzeniem onclick
. Działa w przeglądarce Chrome i Internet Explorer, ale nie w Firefoksie. Jakieś sugestie?Dlaczego moje zdarzenie onclick nie jest zarejestrowane w Firefoksie?
<li onclick="alert('test');">test test<br></li>
Mam element listy z wydarzeniem onclick
. Działa w przeglądarce Chrome i Internet Explorer, ale nie w Firefoksie. Jakieś sugestie?Dlaczego moje zdarzenie onclick nie jest zarejestrowane w Firefoksie?
<li onclick="alert('test');">test test<br></li>
Działa to dobrze dla mnie w Firefoksie.
Sprawdź to:
jest włączona obsługa JavaScript w przeglądarce.
Spróbuj dodać w swoim tekście instrukcję return false;
.
lub funkcję tak:
function test() {
//your code here
return false;
}
<a href="#" onclick="alert('hi');">Link</a>
czy to
<a href="javascript:void(0)" onclick="alert('hi');">Link</a>
dziękuję bardzo. ostatnia sugestia zadziałała. Ale nie mogłem zrozumieć, dlaczego tylko zdarzenie onclick nie działa. Mousemove, out itp. Wszystko działa. i tak rozwiązany problem :) – hdayi
Myślę, że Firefox potrzebuje zwrotu. Możesz również użyć przycisku, jeśli chcesz. –
nie dotyczy pytania. – user1133275
Próbowałem zminimalizować mój kod HTML, aby wysłać kompletny kod symulujący błąd, o który poprosił Boris Zbarsky. Wtedy znalazłem swój błąd.
Używałem znacznika marquee, który jest przestarzały. Teraz mam zamiar użyć jQuery zamiast tego.
thx
użyj https://validator.w3.org/, aby uniknąć dziwnych zachowań FF w ten sposób. – user1133275
W Firefox, the event object nie jest globalna. Musisz uzyskać do niego dostęp w tagach skryptu, a nie w HTML.
onclick
prace lubi to
<li id="alert">test<br></li>
<script>
document.getElementById("alert").addEventListener("click", function(event) {
alert('test');
}, false);
</script>
To nieprawda i nie ma już znaczenia dla pytania. – user1133275
@ user1133275, jak napisać detektor zdarzeń? Czy napiszesz go w HTML jak pierwotnie proponowano? – daniella
przykład w pytaniu jest prawidłowy.Która z poprawnych metod wybiera się w różnych kontekstach, jest osobistą preferencją, a zatem nie jest dobrym pytaniem o stackoverflow .... dobrze jest rozdzielać języki, więc ograniczenie wszystkich skryptów JavaScript do jednego pliku .js byłoby moim zaleceniem, nawet jeśli nie trzymaj się go osobiście. – user1133275
Atrybuty mogą być ignorowane przez Firefoksa, gdy podawany jest nieprawidłowy HTML, użyj https://validator.w3.org/ oczyścić HTML.
Sprawdź, czy JavaScript jest wyłączony w przeglądarce Firefox? – Chandana
inne zdarzenia javascript działa dobrze tylko onclick nie – hdayi
nie powinieneś tak czy inaczej nadpisywać zdarzeń 'onclick' w swoim html. oddziel swoje obawy i połącz swoje wydarzenia w pliku skryptu. – Jason