Zastanawiam się, czy event.preventDefault()
i return false
były takie same.event.preventDefault() vs return false (no jQuery)
Zrobiłem some tests i wydaje się, że
Jeśli procedura obsługi zdarzenia jest dodawany za pomocą starego modelu, na przykład
elem.onclick = function(){ return false; };
Następnie
return false
zapobiega domyślną akcję, jakevent.preventDefault()
.Jeśli procedura obsługi zdarzenia jest dodawany za pomocą
addEventListener
npelem.addEventListener( 'click', function(e){ return false; }, false );
Następnie
return false
nie zapobiega domyślną akcję.
Czy wszystkie przeglądarki zachowują się w ten sposób?
Czy są więcej różnice między event.preventDefault()
i return false
?
Gdzie mogę znaleźć dokumentację (nie mogłem w MDN) o return false
zachowuje się jak event.preventDefault()
w niektórych przypadkach?
Moje pytanie jest tylko o zwykły JavaScript, nie jQuery, więc proszę nie oznaczyć go jako duplikat event.preventDefault() vs. return false, nawet jeśli oba pytania mają prawie taki sam tytuł.
Duplikat http://stackoverflow.com/questions/1357118/event-preventdefault-vs-return-false Jeżeli odczytuje pan to pytanie można zauważyć, że jest to problem nie generic JS jQuery-specyficzny . jQuery był używany tylko do tego, aby przykładowy kod był możliwie jak najkrótszy/czysty. – RaYell
@RaYell Nie, ponieważ 'return false' jQuery zachowuje się inaczej niż zwykły kod JavaScript. Co więcej, w drugim pytaniu nie ma odpowiedzi wyjaśniającej różnicę w zwykłym JS (jest tylko komentarz, który wyjaśnia to, ale jest trudny do znalezienia). Myślę więc, że lepiej jest mieć dwa różne pytania. – Oriol