SORU
22 Mart 2012, PERŞEMBE


JQuery kullanmak mümkün .ve vurgulu?

İlk sayfa yük sonra javascript ile doldurulur <ul> var. Şu anda mouseover mouseout .bind kullanıyorum.

Proje .on, kullanmak için bu seçeneği var ama hover ile çalışmak için almak gibi olamaz bu yüzden sadece jQuery 1.7 için güncellendi. hover .on kullanmak mümkün mü?

EDİT: Bağlama ben elemanları belge yüklendikten sonra javascript ile yüklenir. on hover kullanıyorum.

CEVAP
22 Mart 2012, PERŞEMBE


(Eğer öğeleri JavaScript ile doldurulur .on() kullanmanız gerekiyorsa bu cevabı Düzenle son bir bak)

JavaScript kullanarak: kalabalık olmayan unsurlar için bunu kullanın

$(".selector").on("mouseover", function () {
    //stuff to do on mouseover
});

.hover() kendi işleyicisi vardır: http://api.jquery.com/hover/

Eğer birden fazla şeyler yapmak istiyorsanız, .on() işleyicisi bunları zinciri gibi:

$(".selector").on({
    mouseenter: function () {
        //stuff to do on mouse enter
    },
    mouseleave: function () {
        //stuff to do on mouse leave
    }
});

Cevapları aşağıda verilen bilgiler doğrultusunda .on() ama hover kullanabilirsiniz:

Şiddetle yeni kod için cesareti olsa da, görebilirsiniz pseudo-event-name "hover" dizesi için bir kısaltma olarak kullanılır "mouseenter paste". Tek bir olay için işleyici ekler iki olay ve olay işleyicisi incelemek gerekir.belirlemek için tür ister olay mouseenter veya paste. Bu karıştırmayın "hover" sözde etkinlik adı ile .kabul eder) vurgulu yöntemi, ya da iki işlevi.

Ayrıca, bunu kullanarak performans avantajları vardır ve sadece mouseenter mouseleave kullanmaktan daha zor bir ihtimal. Ben verdiğiniz cevabı daha az kod gerektirir ve doğru yolu bu gibi bir şey elde etmektir.

EDİT

Bu soru cevaplandı ve bazı çekiş kazanmış gibi görünüyor bu yana bir süre oldu. Yukarıdaki kod hala duruyor, ama benim orijinal cevap için bir şey eklemek istedim.

mouseenter mouseleave (bana ne kodu oluyor anlamanıza yardımcı olur) kullanarak .on() ile tercih ederken, sadece hover() ile aşağıdaki yazılı aynıdır

$(".selector").hover(function () {
    //stuff to do on mouse enter
}, 
function () {
    //stuff to do on mouse leave
});

Beri orijinal mi soru sormak ne kadar onlar düzgün kullanmak on() hover(), öyle düşündüm doğru kullanım on() ve bulamadık gerekli ekleme hover() kodu.

11 ARALIK 2012 DÜZENLEYİN

Yeni cevap .on() soru div kalabalık JavaScript kullanan nasıl çalışması gerektiğini aşağıda detaylı olarak bildirmiş. Örneğin, diyelim ki div kullanarak bir WordPress kullanmak .load() olay, şu şekilde doldurun ki:

(function ($) {
    //append div to document body
    $('<div class="selector">Test</div>').appendTo(document.body);
}(jQuery));

.on() yukarıdaki kodu durmak olmaz. Bunun yerine, kodu biraz, bu gibi değiştirmeniz gerekir:

$(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 öğe* *40 bir olay oldu sonra JavaScript ile doldurulur için çalışacak. Sadece değiştirmek uygun seçici sizin argüman.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • guillaume2111's channel

    guillaume211

    19 Kasım 2006
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010