2012-07-31 64 views
0

我有一個包含另一個div的div。它們都是通過ajax請求拉動的一些數據動態創建的。div更高的樹不接收點擊'通過'更低的div

我有,我想連接到外部和內部的div都click事件,但對於當我點擊面積鍍鉻某種原因使藍色下面的第一個圖像中,沒有任何反應

chrome inspects divs

這裏是在html窗格中的結構

html of div content

這是確實的事件的函數

$(document).ready(function() { 
    $('body').click(function (event) { 
     if ($(event.target).is('#INT-note')) { 
      if (!$('#INT-note').hasClass('expanded_note')) { 
       $('#INT-note').addClass('expanded_note'); 

       $('#INT-note').animate({ 
        height: '300', 
        width: '200', 
        overflow: 'scroll' 
       }, 500, function() { 

        $('#INT-note_text').fadeIn(100); 
       }); 

      } else { 

       $('#INT-note').removeClass('expanded_note'); 
       $('#INT-note_text').fadeOut(100); 
       $('#INT-note').animate({ 
        height: '45', 
        width: '45', 
        overflow: 'hidden' 
       }, 500, function() { 
        //console.log('test'); 
       }); 
      } 

     } 
    }); 
}); 

有什麼方法可以讓低位div通過'頂級​​'div獲得點擊,這樣我就沒有像$('#lower, .upper')這樣的東西嗎?

[pointer-events:none;][3]到目前爲止還沒有爲我工作,因爲它似乎在點擊下面的div時觸發點擊功能。我想只想下一級。

謝謝!

回答

1

似乎有與事件結合的一個問題,因爲div s的dynamiclly插入,對人體使用On代替click,所以它會自動連接該事件插入新的元素。

$('body').on('click',function (event) { 
    //same code 
}); 
+0

好的。謝謝。所以'on'就是'$(document).ready(function(){$('body')。on('click,function(event){if(event.is('#INT-note')){ etc'? – 1252748 2012-07-31 21:42:54

+0

這就是同樣的問題,點擊沒有打通div,不幸的是 – 1252748 2012-07-31 21:57:31

+0

你的問題對我來說不太清楚,你是否想在內部div或外部div被點擊的情況下運行內部的代碼? – bingjie2680 2012-08-01 07:09:40

0

您不能正常使用與動態添加內容clickbind,嘗試livedelegate或更近on

+0

只是一個人擡頭 - 現在已經棄用了1.7 – Matt 2012-07-31 21:35:17

+0

哦,但它對我來說還是很好的,但'on'當然更可取。 – SexyBeast 2012-07-31 21:36:54