2014-03-27 7 views
0

내가 깊이 의아해 오전에, jsfiddle에서 작동 다음과 같이하지, 페이지의 특정 요소에 활동의 활동/부재에 화재 :JQuery와 idletimer 내가 요소에 부착 idletimer의 사용에 대한 질의를 기록, 그래서 이벤트 것 또는 것 때문에 전</p> <p>하루나 ...하지 브라우저

$("#testme" ).on("idle.idleTimer", function(event, elem, obj){ $("#test").html("I am very idle");}); 
$("#testme" ).on("active.idleTimer", function(event, elem, obj, triggerevent){ $("#test").html("not idle");}); 
$("#testme").idleTimer(3000); 

를 내가이 작업을 가지고 있었다 듯 : 당신이 http://jsfiddle.net/peterrr73/C3w7f/3 행복하게 작동 볼 수 있습니다. 그러나이 동일한 코드를 별도의 파일에 붙여 넣은 다음 웹에 저장하면 오류가 발생합니다 : http://www.sd-editions.com/CantApp/index4.html에서 확인할 수 있습니다. 더 복잡한 문제를 만들려면 http://www.sd-editions.com/CantApp/index2.html에서 전체 문서에 첨부 할 때 유휴 상태가 작동하고 있음을 알 수 있습니다.

무슨 일입니까? 온라인 작동하지 않는 인스턴스로 이동하면 오류가보고되지 않습니다.

+0

코드가 문서보다 먼저 실행됩니다. t 준비 이벤트, 선택 자 빈 객체를 반환 – webdeveloper

답변

1
  • jsfiddler 때문에 신체의 모든 노드가
  • 먼저 링크
  • 두 번째 링크는 여기에 document

에 이벤트를 부착로드 솔루션 (랩 코드되지 않습니다 dom elements를 사용하여로드, onLoad 실행 선택자 포함) :

$(function() { 
/* your code goes here */ 
}); 
+0

그래, 그냥 생각! 또 다른 방법은 닫는 body 태그 다음에 스크립트를 배치하여 요소에 타이머를 추가하기 전에 모든 요소가있는 전체 본문이로드되도록하는 것입니다. 그것은 모두 완벽하게 이해됩니다. 이것이 타이머가 문서에서는 작동하지만 요소에는 작동하지 않는 이유입니다. 문서는 거기에 있었으므로 아무런 문제가 없었지만 요소는 그렇지 않았습니다. –

+0

@PeterRobinson 네, 당신은 절대적으로 옳습니다. – webdeveloper