2012-09-20 16 views
1

我正在使用砌體。我有休耕代碼磚石加載網頁後:我不能用jquery masonry上的item類來點擊div

<div id="main_container"> 
<div id="container" class="masonry" style="position: relative; height: 655px; width: 1128px;"> 
    <div class="item masonry-brick" style="position: absolute; top: 0px; left: 0px;"> 
     <img class="images" src="http://www.elektriklihafifticari.com/ca_images/small/67923429.jpg"> 
     <p class="note"></p> 
    </div> 
    <div class="item masonry-brick" style="position: absolute; top: 0px; left: 282px;"> 
     <img class="images" src="http://www.elektriklihafifticari.com/ca_images/small/30446134.jpg"> 
     <p class="note"></p> 
    </div> 
</div> 

我想一個新的div添加到當我點擊這些「項目砌築磚」類的機構。 我用的是休耕代碼,使這個:

​​

遺憾的是它不工作。我嘗試了很多不同的解決方案,但無法成功。我意識到,如果我改變代碼:

$("#container").click(function(){ 
    var body_m=$('body'); 
    var blur_div=$('<div></div>'); 
    blur_div.attr('class','blurred'); 
    body_m.prepend(blur_div); 
}); 

我得到了我想要的東西,因爲我在與id=container股利點擊。 任何想法? 謝謝。

已編輯。 現在有大概情況新問題:

的HTML代碼:

<div id="container" class="masonry" style="position: relative; height: 335px; width: 846px;"> 
    <div class="item masonry-brick" style="position: absolute; top: 0px; left: 0px;"> 
     <img class="images" src="http://www.dostahediye.com/ca_images/small/230352553.jpg" data-id="1000014037951491000"> 
     <p class="note">teşekkürler</p> 
    </div> 
    <div class="item masonry-brick" style="position: absolute; top: 0px; left: 282px;"> 
     <img class="images" src="http://www.dostahediye.com/ca_images/small/660575147.jpg" data-id="1000014037951491001"> 
     <p class="note">5 kişi lütfen</p> 
    </div> 
    <div class="item masonry-brick" style="position: absolute; top: 0px; left: 564px;"> 
     <img class="images" src="http://www.dostahediye.com/ca_images/small/474047220.jpg" data-id="1000014037951491002"> 
     <p class="note">7 kişi lütfen</p> 
    </div> 

當我使用下面的代碼來識別div.item.masonry磚被點擊它,總是第一個數據-id'1000014037951491000'被警告。

$("#container").on("click",".item.masonry-brick",function(){ 

    var data_id=$('img',this).data('id'); 
    alert(data_id); 

任何想法? 在此先感謝。

回答

0

我猜.item.masonry-brick元素是動態添加的。

您不能附加上這樣的動態生成的元素的事件,

使用on代替。

$("#container").on("click",".item.masonry-brick",function(){ 
    var body_m=$('body'); 
    var blur_div=$('<div></div>'); 
    blur_div.addClass('blurred'); 
    body_m.prepend(blur_div); 
}); 
+0

謝謝。正在工作。 – emerdog

+0

標記爲答案,如果這個答案適用於你:) – Jashwant

+0

你對這個問題的新編輯部分有什麼想法嗎? – emerdog