Ben soru için bu test kodu yaptık: http://jsfiddle.net/5phqm/1/Neden jQuery's triggerHandler() satır içi olayları engellemez?
Bildiğim kadarıyla anladığım kadarıyla jQuery en triggerHandler()
varsayılan tarayıcı davranışlarını önler eğer, o zaman yerli JavaScript etkinliklerini tetiklenir olmayacak ve ele (ve de addEventListener()
için doğrudur benim kod), ancak onclick=""
etiketinin özniteliği ile eklenen satır içi olay, yine de tetiklenecektir! Neden oluyor? Tarayıcıda tetikleyen olaylar hakkında bir şeyleri yanlış anladım mı?
Buna değer bir şey varsa, bunu her zaman CSS kurallarının davranış modelini izleyerek düşünürüm: satır içi kod, 'head'de bulunan kodu geçersiz kılar ve bu da harici bir komut dosyasında bulunan kodu geçersiz kılar. Basitçe 'removeAttr' ('onclick') 'olabilir. –
Bu doğrudan bir yanıt değil, jQuery web sitesinde, satır içi etkinlik işleyicileriyle ilgili sorunlarda çalışmadıklarını belirtiyorlar: http://docs.jquery.com/Won't_Fix#Inline_Event_Handlers. Kodunuzun neden böyle davrandığını bilmek isterdim, ama bunun için bir çözüm olacağını düşünmüyorum (bir hata bulursanız). – pimvdb