2014-10-08 3 views
0

빠른 질문이 있습니다. 두 개의 '컨테이너'div가 더 이상 div가없는 경우 이벤트를 트리거하려고합니다.jQuery 문을 트리거하는 방법

if (($('#Summary2 div').length) + ($('#Summary3 div').length)) == 0) { 
    alert("hello"); 
} 

나는이 코드 조각을 - 어떻게받을 수 있나요 내 문제는 실행하는 데 다음과 같이

내 스크립트는 지금까지입니까? 나는 그것이 일어날 것이라고 생각합니다. 일단 읽혀지면 아무 것도 일어나지 않아 유휴 상태로 앉아 있습니다.

종류의 안부와 감사, G

+1

을 (이 경우 전용 기능이 있으면 도움이됩니다. 기능을 통해 제외하고는 요소를 제거하지 마십시오.) 또는 덜 효율적으로 간격을 설정하여 지금 당장 검사를 수행하십시오. 나는 당신의 코드가 471 개의 다른 장소에서 같은 엘리먼트를 제거하는 혼란이 아닌 한, 첫번째 접근법을 강력하게 제안한다. – Amadan

+1

아, 또 다른 옵션 - 다소 새로운 스펙 인 ['MutationObserver'] (https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver). 그러나 모든 (ish) 현재 브라우저에서 작동합니다. – Amadan

답변

-1

이 코드를 사용해보십시오. "제거"이벤트가 발생할 수 있습니다.

$("#Summary2 div, #Summary3 div").on("remove", function() { 
    if (($('#Summary2 div').length) + ($('#Summary3 div').length)) == 0) { 
     alert("hello"); 
    } 
}); 
+0

내가 아는 한 '제거'이벤트가 없습니다. 'DOMNodeRemoved'가 사용되지 않습니다. – Amadan

+0

jquery-ui를 추가 할 때가 있습니다. http://jsfiddle.net/xalvin11/Lcu6wmL7/ –

+0

참고로 대답해야합니다. 당신이나 OP가 jQuery-UI를 언급하지 않았습니다. 또한 jQuery'.remove()'에서만 작동합니다. 요소가 다른 수단 (예 : 표준 DOM'removeChild')에 의해 제거되면 트리거되지 않습니다. – Amadan

0

난 당신이 다음과 같이 우리가 1 시간마다 그때 당신은 setInterval을 사용할 수 있습니다 가정 해 봅시다 특정 시간에 사업부를 확인하기 위해 제안 : - 당신은 거기에서 뭔가를 제거 할 때마다 확인 어느

setInterval(
function(){ 
if ($('#Summary2 div').length + $('#Summary3 div').length == 0) { 
    alert("hello"); 
} 
}, 60 * 60 * 1000); 
+0

@downvoter 이유를 알려주세요. – Neel

관련 문제