olay.() preventDefault return false (jQuery)vs.
event.preventDefault()
return false
aynı olup olmadığını merak ettim.
some tests yaptım ve görünen o ki
Olay işleyicisi eski model kullanarak, örneğin eklenir
elem.onclick = function(){ return false; };
Sonra,
return false
varsayılan eylem,event.preventDefault()
gibi engeller.Olay işleyicisi örneğin
addEventListener
kullanarak eklenirelem.addEventListener( 'click', function(e){ return false; }, false );
Sonra,
return false
varsayılan eylemi engellemez.
Tüm tarayıcılar böyle mi davranır?
event.preventDefault()
return false
arasında fazla bir fark var mı?
Bazı belgeler (yapamadım MDN) return false
hakkında *bazı durumlarda 13* gibi davranmaya nerede bulabilirim?
Benim sorum ise her iki soruyu hemen hemen aynı başlık varsa bile sadece lütfen yinelenen event.preventDefault() vs. return false, Bir olarak işaretlemek yok yani düz javascript, DV.
CEVAP
W3C Document Object Model Events Specification1.3.1. Olay kayıt arabirimleribu EventListener handleEvent
dönüş değeri yok durumları:
handleEvent
Bu yöntem bir olay türü gerçekleştiğinde denir hangi EventListener arabirimini kaydedildi. [...]Geri Dönüşü Değer
altında1.2.4. Etkinlik İptalbelge de belirtiyor
İptal Olayı preventDefault çağırarak gerçekleştirilir yöntem. Eğer bir veya daha fazla EventListeners sırasında preventDefault arayın olay faz varsayılan eylemi iptal edilecektir akışı.
doğru / yanlış dönen bir tarayıcıyla olabilecek herhangi bir etkisi kullanarak engelleyin ve event.preventDefault()
kullanmak gerekir.
Güncelleme
HTML5 spec aslında bir dönüş değeri farklı nasıl davranacağını belirtir. Section 6.1.5.1 of the HTML Spec belirtir
Eğer dönüş değeri boolean false WebİDL bir değer ise, iptal o zaman olay.
her şey için ama "" olay. fare üzerinde
Sonuç
Hala eski spec ve böylece eski tarayıcılar ile uyumlu olacak bu yana bir çok proje için event.preventDefault()
kullanmanızı tavsiye ederim. Eğer sadece bir kesim tarayıcılar destek gerekiyorsa, iptal etmek için yanlış dönen Tamam.
jquery: olay.() stopİmmediatePropagati...
olay.() preventDefault vs return false...
&; javascript:void(0);" quot; vs &...
' 'return false' ekleme...
Pencere popup Engelleyicisi devre dışı...