Citat:
Originalno napisao ivanhoe
Sam onclick event nije mapiran direktno u ovu anonimnu funkciju koja pise u kodu, nego u handler metodu jQuery, a ona to mapira dalje pomocu $events niza. U slucaju kad probas da triggerujes direktno onclick na html elementu (a ne preko jQuery click() ) onda doticni handler iskulira poziv.
|
Tako je, iz razloga što u tom slučaju (direktno pozivanje onNešto na html elementu) jQuery-jev generički event handler, iako se okida, nema informaciju šta je to Nešto (jer i ne postoji stvarni event, dugme nije kliknuto). Iako će neko možda tvrditi da je feature, po meni je to bag u jQuery-ju.
Ajde sad, nije nešto ekstra bitno, cela stvar liči pomalo na akademsku raspravu (ko ikad ručno zove onClick?), ali ovo mi pravi relativno ozbiljan problem u jednoj real-life situaciji:
Submit na form elementu ne okida onsubmit event ako se poziva ručno iz javaskripta (form.submit()). To je tako nevezano za jQuery, proizvođači browsera su jednostavno tako uradili. S obzirom da ASP.NET dobar deo postbackova radi preko form.submit(), MS je dodao parče javascripta koji ručno poziva onsubmit event pre submitovanja forme. E sad, zbog navedenog problema sa jQuery-jem, nijedna akcija koju na formu nakačim putem $('form').submit(funkcija) se ne izvrši.
Rešio sam problem tako što onsubmit event kačim na stari način, umesto putem jQuery-ja. I nerviram se zato što moram da pravim workaround za nešto što samo po sebi treba da ti olakša život...

A ovi na jQuery forumu me kuliraju.