2012-07-31 3 views
0

다른 div가 포함 된 div가 있습니다. 둘 다 Ajax 요청에 의해 끌어온 일부 데이터로 동적으로 생성됩니다.div 상위 트리는 'through'를 클릭하지 않습니다. 하위 div

은 내가 모두 외부 및 내부 사업부에 연결하고 싶은 클릭 이벤트를 가지고,하지만 난이 지역 크롬 클릭 어떤 이유로 아래의 첫 번째 이미지에서 파란색으로 렌더링, 아무것도

을 발생하지 chrome inspects divs

그리고 여기에이 이벤트를 수행하는 함수이다

html of div content

되는 HTML 창의 구조

$(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이 동적으로 삽입되었으므로 본체에 click을 대신 사용하므로 이벤트 바인딩에 문제가있는 것 같습니다. 삽입 된 새 요소에 이벤트를 자동으로 첨부합니다.

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

확인. 고맙습니다. if (event.is ('# INT-note')) {{(INT-note)}}) {on ('click', 'function' 기타 등등'? – 1252748

+0

같은 문제가 있습니다. 불행히도 div를 통과하지 못합니다. – 1252748

+0

당신이 질문에 내게 명확하지 않다면 내부 div 또는 외부 div를 클릭했을 때 조건이 맞으면 코드를 실행하고 싶습니까? ?? – bingjie2680

0

당신은 live, delegate 또는 최근 on을 시도, click 또는 bind 동적으로 추가 컨텐츠와 정상 사용할 수 없습니다.

+0

그냥 머리가 뜨면 1.7 – Matt

+0

으로 모자라지만 여전히 잘 작동하지만, 물론 'on'이 더 좋습니다. – SexyBeast