Jak przekazać event.preventDefault() przy takim zapisie?
.click(e => editAdviertisement(result.advertisementsList[advertisementIndex].AdvertisementId))
Jak przekazać event.preventDefault() przy takim zapisie?
.click(e => editAdviertisement(result.advertisementsList[advertisementIndex].AdvertisementId))
Czemu poniszy zapis i tak wywouje inną metodę tak jakby event.preventDefault() nie działało
.click(function (event) { event.preventDefault(); })
Nie chodzi Ci przypadkiem o stopPropagation
oraz stopImmediatePropagation
?
Prawdopodobnie o to chodzi. Po prostu mam na wierszu tabeli zrobionego onlicka i na buttonie mam onclicka zrobionego. Button znajduje się w wierszu. Po wciśnięciu buttona wywołuje się onclick z wiersza tabeli zamiast z buttonu.
Dobra dzięki pomogło. Jaka jest różnica między preventDefault(); a stopPropagation()?
Wiesz, że możesz sobie tam tę informację wyszukać? ;-)
W skrócie:
event.preventDefault()
, jak brzmi nazwa, powoduje, że domyślna akcja związana z danym wydarzeniem nie jest wykonywana (np. nie jest wykonane zapisanie formy czy przeniesienie użytkownika na inną stronę po naciśnięciu linku),
event.stopPropagation()
powoduje, że wydarzenie nie jest propagowane dalej (do rodziców elementu, na którym wydarzenie miało miejsce - patrz: event bubbling
).
event.stopImmediatePropagation()
działa podobnie do event.stopPropagation()
z tą różnicą, że nie odpala jakichkolwiek innych handlerów podpiętych do tego elementu (np. możesz mieć dwa onClick
przypięte do tego samego diva - wtedy tylko jeden handler się odpali).