Ben her zaman mouseover
olayı kullandım , ama buldum jQuery belgeleri okurken mouseenter
. Aynı şekilde işlev görüyorlar.
İkisi arasında bir fark var mı, varsa ne zaman kullanmalıyım?
( mouseout
Vs için de geçerlidir mouseleave
).
Ben her zaman mouseover
olayı kullandım , ama buldum jQuery belgeleri okurken mouseenter
. Aynı şekilde işlev görüyorlar.
İkisi arasında bir fark var mı, varsa ne zaman kullanmalıyım?
( mouseout
Vs için de geçerlidir mouseleave
).
Yanıtlar:
JQuery doc sayfasından aşağıdaki örneği deneyebilirsiniz . Çok açık hale getiren hoş, küçük, etkileşimli bir demo ve aslında kendiniz görebilirsiniz.
Kısacası, bir öğenin üzerindeyken (alt öğesinden VEYA üst öğesinden) gelen bir fare üzerinden üzerine gelme olayının oluştuğunu fark edersiniz, ancak bir fare enter olayı yalnızca fare bu öğenin dışından bu öğeye hareket ettiğinde gerçekleşir.
Veya olarak mouseover()
dokümanlar koydu:
[
.mouseover()
] olay köpürmesi nedeniyle birçok baş ağrısına neden olabilir. Örneğin, fare imleci bu örnekte İç öğenin üzerine geldiğinde, bunun üzerine bir fareyle üzerine gelme olayı gönderilir, ardından Dış'a kadar damlar. Bu, bağlı fareyle işleme işleyicimizi uygunsuz zamanlarda tetikleyebilir..mouseenter()
Yararlı bir alternatif için tartışmaya bakın .
MouseEnter ve mouseLeave yok olay köpüren tepki, fare üzerinde iken ve mouseout yapmak .
Davranışı açıklayan bir makale .
Bu tür sorularla çoğu zaman doğru olduğu gibi, Quirksmode en iyi cevaba sahiptir .
Ben, çünkü jQuery hedeflerinden biri tarayıcı agnostic şeyler yapmak olduğunu, her iki olay adı kullanarak aynı davranışı tetikleyecek olduğunu hayal ediyorum. Düzenleme: diğer yayınlar sayesinde, şimdi durum böyle değil
$(document).ready(function() {
$("#outer_mouseover").bind
("Mouse Over Mouse Out",function(event){
console.log(event.type," :: ",this.id);})
$("#outer_mouseenter").bind
("Mouse enter Mouse leave",function(event){
console.log(event.type," :: ",this.id);})
});
mouseenter
"Yalnızca fare ana öğeden öğeye hareket ettiğinde gerçekleşir" doğru değildir . Olay , öğenin dışında olmaktan içinde öğeye dönüştüğünde gerçekleşir . Farenin hangi öğeden geldiği önemli değil. Farenin genellikle ebeveynden geleceği doğrudur, ancak her zaman değil. Örneğin, ebeveynin dolgusu veya kenarlığı yoksa, fare doğrudan büyükbaba veya büyükanneden girebilir vemouseenter
yine de ateş eder. Aslında, öğeyi görünüm penceresinin dışından bile girebilir (öğe kenarda sağda ise) ve olay yine de tetiklenir.