2013-08-22 27 views
1

我想從模板中獲取每個項目。該模板的樣子:從句柄模板獲取每個元素與jQuery

<div class="row flush" id="photos_list"> 
<script id="photo_list_template" type="text/x-handlebars-template"> 
        {{#each this}} 
        <div class="3u photo"> 
         <img src="{{url}}" alt="{{name}}"/> 
        </div> 

        {{/each}} 
</script> 
</div> 

,現在我想利用各張圖片,並在懸停顯示ALT,和黑色背景,但我似乎無法使它工作,採取的元素。 我想是這樣的:

$('div.row').find('img').hover(function(){ 
      //some code 
     }) 

這是生成的html:

<div class="row flush" id="photos_list"> 

        <div class="3u photo"> 
         <img src="http://everythingawesomeever.files.wordpress.com/2013/07/awesome-meter.jpg" alt="Again, with the insanity."> 
        </div> 


        <div class="3u photo"> 
         <img src="http://who-is-awesome.com/who-is-awesome.jpg" alt="Who's awesome?"> 
        </div> 


        <div class="3u photo"> 
         <img src="http://www.miataturbo.net/attachments/insert-bs-here-4/78009-my-little-random-picture-thread-*sfw-huffy-*-1682345-slide-slide-1-biz-stone-explains-how-he-turned-91-random-photos-into-movie-jpg?datelin" alt="After Mask"> 
        </div> 


        <div class="3u photo"> 
         <img src="http://www.miataturbo.net/attachments/insert-bs-here-4/76756-my-little-random-picture-thread-*sfw-huffy-*-11254201pkm5958-jpg?dateline=1368653578" alt="English Muffin"> 
        </div> 


       </div> 

我該怎麼辦呢?

+0

似乎是正確的,你的後生成的html ..也許有一些problmes ...還懸停需要2個功能(){}兩個狀態... – reyaner

回答

3

這應該做的伎倆,因爲img標籤不在DOM上的約束力,你需要針對家長和選擇事件的時間內就這件事件具有適用於:

$('div.row').on("mouseenter", "img", function() { 
    // some code 
}); 
$('div.row').on("mouseleave", "img", function() { 
    // some code 
}); 
+0

它工作,如果我使用「點擊」而不是「懸停」,但在「懸停」它什麼都不做。 –

+0

沒有「懸停」事件... – reyaner

+0

如果我使用mouseenter,那麼我必須使用mouseleave才能進入前一階段,不是嗎? –

1

如果beeing產生的DOM,你應該這樣做:

$("div.row").on("mouseenter mouseleave", "img", function(e){ 
     if(e.type == "mouseenter"){ 
     .. 
     }else{ 
     ... 
     } 
    });