Na początek powiem że uwielbiam jQuery które ułatwia mi życie z js ale czasem trzeba robić brzydkie rzeczy dla dobra kodu i next pokoleń które będą ten kod modyfikować.
Dlaczego bind .click jest dobry ?
- nie nadpisujemy html-a robimy wszystko we własnej piaskownicy
Dlaczego bind .click jest zły ?
- gdy mamy kod js który zawiera ponad xxxx lini i na jednym elemencie jest robiony bind w xxx miejscach, a tego nikt nie pamięta może łatwo zepsuć poprzednie funkcjonalności
- jeżeli zaciągniemy coś nowego np ajaxem tracimy bindy na elementy które podmieniliśmy ajaxem, czyli trzeba duplikować kod i wywoływać bind po zaciągnięciu na on success
- nie wszędzie może zadziałać (zależy od przeglądarki)
- unbind na jednym takim samym elemencie zdejmuje z wszystkich co może nieźle namieszać
Dlaczego onclick jest dobry ?
- przejrzystość robiąc onclick="f(); f2(); .." widzimy w jakiej kolejności funkcje mają się wykonać i dorabiając nową funkcjonalność możemy sprawdzić czy komuś czegoś nie psujemy
- po załadowaniu elementu ajaxem z onclick-iem wszystko pięknie działa
Dlaczego onclick jest zły ?
- zdarza się że onclick nie zadziała (tak zdarza się to nawet w XXI wieku :\)
- jest brzydkie
Podsumowując - jeżeli robisz duży projekt gdzie wiele osób będzie modyfikować i używać tego samego pliku js używaj onclick jest bardziej pewne i przejrzyste w kodzie + łatwe do debugowania funkcji które operują na elemencie niż bawienie się w bind i unbind.
Brak komentarzy:
Prześlij komentarz