2017-10-16 9 views
1

먼저 창을 클릭하지 않고 키보드 이벤트를 감지하고 싶습니다. 키보드 이벤트가 마우스에 의존해서는 안되기 때문에 이상하게 보입니다. Firefox의 최신 버전을 사용하고 있습니다.개발자 도구는 문서를 먼저 클릭하지 않고 키보드 포커스를 방지하는 초기 포커스가 있습니다

저는 몇 가지 방법으로 창, 문서 및 본문에 초점을 추가하려고했지만 지금까지는 행운이 없습니다.

나는 jsfiddle 링크를 제공 하겠지만 iframe은 다른 상황과 해결책이라고 생각합니다. 여기

내가 시도 것입니다 :

(! 없음 jQuery를하시기 바랍니다)

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title></title> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 
</head> 
<body> 

    <p>Hello world.</p> 

    <script> 

     document.addEventListener("DOMContentLoaded", function(e) { 

      // none of these seem to help 
      document.body.focus(); 

      //document.focus(); 

      //window.focus(); 

      //top.document.focus(); 

      //parent.document.focus(); 

      //document.documentElement.focus(); 

     }); 

     // not triggered until after clicking in the window 
     document.addEventListener("keydown", function(e) { 
      console.log("keydown", e); 
     }); 

    </script> 
</body> 
</html> 

업데이트 폐쇄 개발자 도구와

, 키보드 이벤트가 잘 발동 (초점을 설정할 필요가 없음).

일반 사용자가 열어 보지 못할 수도있는 콘솔이나 개발자 도구 창에서 어떻게 초점을 되돌릴 수 있습니까?

+1

정확하게하고 싶습니까? – Lixus

+0

창이 처음으로 클릭 할 필요없이 키보드 이벤트를 감지합니다. –

+0

Chrome v61.0.3163.100에서 문제를 재현 할 수 있습니다. – moffeltje

답변

0

개발자 콘솔을 열 때 발생한다고 생각합니다. 그렇게하면 페이지가 포커스를 잃게됩니다. 확인하려면 :

// not triggered until after clicking in the window 
document.addEventListener("keydown", function(e) { 
    alert("keydown", e); 
});