( JavaScript ile doldurulmuş öğelerle kullanmanız gerekiyorsa bu cevaptaki son düzenlemeye bakın.on() )
JavaScript kullanılarak doldurulmamış öğeler için bunu kullanın:
$(".selector").on("mouseover", function () {
//stuff to do on mouseover
});
.hover()kendi işleyicisi var: http://api.jquery.com/hover/
Birden fazla şey yapmak istiyorsanız, bunları .on()işleyicide şöyle zincirleyin :
$(".selector").on({
mouseenter: function () {
//stuff to do on mouse enter
},
mouseleave: function () {
//stuff to do on mouse leave
}
});
Kullanabileceğiniz Aşağıda verilen cevaplara göre hoverolan .on(), ancak:
Yeni kod için kesinlikle önerilmez, ancak "mouseenter mouseleave" dizesi için bir kısayol olarak sözde olay adı "hover" ifadesini kullanabilirsiniz. Bu iki olay için tek bir olay işleyicisi ekler ve işleyicinin, olayın fare merkezi veya fare parçası olup olmadığını belirlemek için event.type öğesini incelemesi gerekir. "Hover" sözde olay-adını, bir veya iki işlevi kabul eden .hover () yöntemiyle karıştırmayın.
Ayrıca, kullanmanın hiçbir performans avantajı yoktur ve sadece mouseenterveya kullanmaktan daha hantaldır mouseleave. Verdiğim cevap daha az kod gerektiriyor ve böyle bir şey elde etmenin doğru yoludur.
DÜZENLE
Bu sorunun yanıtlanmasından bu yana bir süre geçti ve bir miktar çekiş kazanmış gibi görünüyor. Yukarıdaki kod hala duruyor, ama orijinal cevabım için bir şeyler eklemek istedim.
Kullanmayı tercih ederken mouseenterve mouseleave(kodda neler olduğunu anlamama yardımcı olur) ile .on()aşağıdakileri yazmakla aynıhover()
$(".selector").hover(function () {
//stuff to do on mouse enter
},
function () {
//stuff to do on mouse leave
});
Orijinal soru düzgün biçimde nasıl kullanacaklarını sormak mi yana on()olan hover(), ben kullanımını düzeltmek düşündüm on()ve gerekli eklemek bulamadık hover()zamanda kod.
11 ARALIK 2012 DÜZENLE
Aşağıda verilen bazı yeni yanıtlar , söz konusu JavaScript kullanılarak doldurulursa nasıl .on()çalışması gerektiğini ayrıntılı divolarak açıklar. Örneğin, diyelim ki bir divjQuery'nin .load()etkinliğini kullanarak şunun gibi doldurursunuz :
(function ($) {
//append div to document body
$('<div class="selector">Test</div>').appendTo(document.body);
}(jQuery));
Yukarıdaki kod .on()dayanamaz. Bunun yerine, kodunuzu biraz değiştirmelisiniz, şöyle:
$(document).on({
mouseenter: function () {
//stuff to do on mouse enter
},
mouseleave: function () {
//stuff to do on mouse leave
}
}, ".selector"); //pass the element as an argument to .on
Bu kod, bir .load()etkinlik gerçekleştikten sonra JavaScript ile doldurulmuş bir öğe için çalışır . Argümanınızı uygun seçiciyle değiştirin.
mouseenterve birleşimlerini deneyinmouseleave.