2013-05-28 49 views
0

我有一個div只包含一個img。每個img都有一個唯一的ID。點擊時,我想將它傳遞給一個函數來改變圖像。添加一個click事件來調用一個函數給兒童?

我曾嘗試:

$(".gallery_thumbs").children('img').click(function(){ 
    alert("go click !="+this.id); 
    gotoImage(this.id); 
}) 

警報是測試我傳遞正確的內容爲gotoImage功能,但我沒有得到的點擊事件綁定。我怎樣才能做到這一點?

+1

什麼時候加載了img元素?你能介紹一下html代碼嗎? –

+0

你能重現你的問題http://jsfiddle.net/ –

+0

我試過... http://jsfiddle.net/aVZsc/ –

回答

1

很可能之前DOM已準備就緒,你有約束力的情況下,我建議使用.on()

$(".gallery_thumbs").on('click', 'img', function(){ 
    alert("go click !="+this.id); 
    gotoImage(this.id); 
}); 

這是沒有必要的,包括裏面$(document).ready()因爲on檢查功能,每次綁定一個事件時間!

+0

沒有什麼,認爲必須是其他問題導致問題或許一個基本的 –

0

你可以使用:

$('.gallery_thumbs > img').on('click', function(){ 
    alert($(this).attr('id')); 
}); 
+1

'live()'在1.7中被棄用,**在1.9中被移除** – billyonecan

+0

抱歉,讓我的功能感到困惑! –

1

假設你已經正確地把你的代碼$(function() { ... }),試試這個:

$(".gallery_thumbs img").click(...); 
+0

我在一個$(function(){})裏面並且在一個函數裏面,但仍然沒有快樂 –

0

你可以試試這個也..

$(function() { 
    $(".gallery_thumbs").find("img").click(function() { 
     alert("go click !="+this.id); 
     gotoImage(this.id); 
    }); 
}); 
0

我通過向div中的所有大拇指添加一個類,然後通過類應用click事件來解決此問題,這個過程更加簡短

$(".thumb").click(function(){ 
    //alert("go click !="+this.id); 
    gotoImage(this.id); 
}) 
相關問題