Fareyle üzerine gelme () ve üzerine gelme () işlevi ne zaman seçilir?


112

JQuery .mouseover()ve .hover()işlevler arasındaki farklar nelerdir ? Tamamen aynıysa jQuery neden ikisini de kullanıyor?


4
Bu yinelenen soru değil. Sağladığınız bağlantı fareyle üzerine gelme ve fareyle üzerine gelme olayları içeriyor ancak benimki fareyle üzerine gelme ve üzerine gelme olayları.
Bhojendra Rauniyar

1
fareyle üzerine gelme ile aynı şekilde farklıdırlar ve aşağıdaki kabul edilen cevap doğru değildir ... fareyle üzerine gelme ve fareyle üzerine gelme olayları değil, fareyle üzerine gelme işlevi bir fare girişi ve fare düğümü olayları ekler
Arun P Johny

1
bkz jsfiddle.net/arunpjohny/cZb5b/1 gelen fareyi eliçin eleman childve konsol kontrol
Arun P Johny

@ArunPJohny lütfen tekrar okuyun, bu, mouseenter ve mouseleave, mouseover ve mouseout değil diyor.
Bhojendra Rauniyar

1
ayrıca hover ile - jsfiddle.net/arunpjohny/cZb5b/2 konsolu analiz edebilirseniz farkı bulabilirsiniz ...
Arun P Johny

Yanıtlar:


113

Resmi jQuery belgelerinden

  • .mouseover()
    Bir olay işleyicisini "mouseover" JavaScript etkinliğine bağlayın veya bir öğede bu olayı tetikleyin.

  • .hover() Fare işaretçisi bağlama eşleşen elemanların bir ya da iki yükleyiciler, yürütülecek girer ve yaprak elemanları.

    Çağrı $(selector).hover(handlerIn, handlerOut), aşağıdakilerin kısaltmasıdır: $(selector).mouseenter(handlerIn).mouseleave(handlerOut);


  • .mouseenter()

    Fare bir öğeye girdiğinde tetiklenecek bir olay işleyicisini bağlayın veya bir öğede bu işleyiciyi tetikleyin.

    mouseoverişaretçi alt öğeye de mouseenterhareket ettiğinde, yalnızca işaretçi bağlı öğeye hareket ettiğinde ateşlenir.


Bu ne anlama geliyor

Bu nedenle, .mouseover()olduğu değil aynı .hover()aynı nedenle, .mouseover()olduğu değil aynı .mouseenter().

$('selector').mouseover(over_function) // may fire multiple times

// enter and exit functions only called once per element per entry and exit
$('selector').hover(enter_function, exit_function) 

31

.hover()fonksiyon, biri mouseenterolay ve biri olay için olmak üzere iki fonksiyon argümanını kabul eder mouseleave.


soru başlığında belirtilen iki işlev arasındaki farklar açısından bu harika bir nokta, Teşekkürler! : .hover () nasıl çalıştığı için W3Schools'da üzerinde aşağıdaki bağlantıyı kontrol w3schools.com/jquery/event_hover.asp
Bahman.A

8

JQuery belge sayfasında http://api.jquery.com/mouseover/ deneyebilirsiniz . Bunu çok net hale getiren güzel, küçük, etkileşimli bir demo ve aslında kendiniz görebilirsiniz.

Kısacası, bir öğenin üzerindeyken fare üzerine gelme olayının meydana geldiğini fark edeceksiniz - ya onun alt öğesinden VEYA üst öğesinden gelir, ancak bir fare girme olayı yalnızca fare ana öğeden öğeye hareket ettiğinde gerçekleşir.


1

Resmi belgelerden: ( http://api.jquery.com/hover/ )

.Hover () yöntemi, hem mouseenter hem de mouseleave olayları için işleyicileri bağlar. Bunu, farenin öğenin içinde olduğu süre boyunca bir öğeye davranış uygulamak için kullanabilirsiniz.


1

Http://api.jquery.com/mouseenter/ adresinde okuyabileceğiniz gibi

Mouseenter JavaScript olayı, Internet Explorer'a özeldir. Olayın genel yardımcı programı nedeniyle jQuery, tarayıcıdan bağımsız olarak kullanılabilmesi için bu olayı simüle eder. Bu olay, fare işaretçisi öğeye girdiğinde bir öğeye gönderilir. Herhangi bir HTML öğesi bu olayı alabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.