2009-02-27 34 views
7

Ben bir resmin üzerine geldiğinde, AJAX ile bir veritabanından yüklenen içeriği biraz ipucu pencere ve sahip bir sayfada görüntüler için basit bir rollover araç ipucu uygulamak çalışıyorum.jQuery araç ipucu + ajax içerik

Bunu bir arada hızlı bir şekilde kesebilirim ancak bunu satır içi JS kullanmadan yapmanın zarif bir yolunu istedim.

Sorularım: Harici .js dosyamdaki rollover olayını yakalarsam, veritabanı kimliğini nasıl geçirebilirim?

$('.item_roll').mouseover(function() { 
    //show tooltip and load ajax content 
} 

ve benim HTML şöyle bir şey olurdu: jQuery kullanıyorum

yüzden böyle bir şey yapacağını img etiketi, nasıl bir işlevi çağırarak olmadan

<img src="thumb.png" class="item_roll" /> 

JS çağrısını veritabanı kimliğinin üzerine gönderir miyim? Umarım bu mantıklıdır.

Teşekkürler.

cevap

7

Ben bir sınıf ve resim etiketinde bir kimliği hem sahip tavsiye: jQuery olay Sonra

<img src="thumb.png" id="id_28436379" class="item_roll" /> 

, bunu gibi o erişebilirsiniz:

$(".item_roll").mouseover(function(event){ 
    alert(event.target.id.split("_")[1]); // displays 28436379 
}); 

Bu size erişim izin vermeli veritabanı kimliği, resim etiketinin kimliğini oluşturarak.

DÜZENLEME: id bir tamsayı ile başlamaz böylece bu standart olmayan ve tüm tarayıcılarda çalışmayabilir çünkü bazı yararlı bir yorum okuduktan sonra, benim cevap değiştirdik. Gördüğünüz gibi, split/[] kodu id numarasını id dizisinden çıkarır.

+0

Mükemmel! neden bunu düşünmedim? :) Teşekkür ederim. – givp

+1

Bir kenara göre, muhtemelen $ ("img.item_roll") ... – cletus

+0

iyi ipucu, cletus yapmalısınız. Bir tam sayı ile başlayan – givp