2013-03-20 4 views
0

이 코드를 사용하려고합니다. p 클릭하면 이미지를 생성하고 해당 컨테이너를 div 전체 화면으로 설정해야합니다.타이머 내에서 HTML5 전체 화면이 작동하지 않습니다.

<html> 
<head> 
<style> 
img { height: 643px; width: 860px; } 
img:-moz-full-screen { height: 643px; width: 860px; } 
div:-moz-full-screen { background: white; } 
</style> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script> 
$(function() { 
$("p").click(function() {  
    setTimeout(function() { 
    $("body").prepend("<div><img src = 'http://i.stack.imgur.com/lBZKC.jpg?s=128&g=1' /></div>"); 
    $("div").get(0).mozRequestFullScreen(); 
    },5000); 
}); 
}); 
</script> 
</head> 
<body> 
<p>Foo</p> 
</body> 

무엇을할지는 5 초이며 이미지를 모두 오른쪽으로 추가하지만 전체 화면으로 설정되지는 않습니다. 그러나 타이머를 제거하고 정상적으로 수행하는 경우 :

괜찮 으면 작동하며 이미지를 앞에두고 전체 화면으로 즉시 설정합니다.

의도적입니까, 아니면 버그입니까? 어느 쪽이든, 그것을 작동시키는 어떤 방법이 있습니까?

답변

1

메서드는 사용자 입력 이벤트 (예 : keypress, mouseevent)에 대한 응답으로 호출되어야합니다.

+0

예, 우리는 그렇게하고 있습니다. 'click' 이벤트로 시작될 예정이며, 단지 2 초 지연됩니다. – SexyBeast

+0

예, 그게 문제입니다. 입력 이벤트는 호출하는 동안 호출 스택의 일부가되어야합니다. 타이머를 사용하여 통화가 지연되는 경우는 그렇지 않습니다. –

+0

오케이. 그래서 해킹 같은 것을 할 수있는 방법이 없을까요? – SexyBeast

관련 문제