2016-07-20 3 views
0

<a>을 클릭하면 div 크기를 조정하는 간단한 자바 스크립트입니다. 내 아이폰에서 작동하지 않는 것 같습니다. 간단한 링크JavaScript - touchstart가 iPhone에서 작동하지 않습니다.

시작 :

전체 화면 표시 내용에 사업부를 확장
<a href="#" onfocus="menu()">MENU</a> 

.

<script> 
     var headerHeight = document.getElementById("header_container").clientHeight; 
     function menu() { 
      document.getElementById("nav_container").style = "display:block;"; 
      document.getElementById("header_container").style = "height:100%"; 
      document.getElementById("header").style = "height:100%"; 
     } 
     function revert(){ 
      document.getElementById("nav_container").style = "display:none;"; 
      document.getElementById("header_container").style = "height:"+headerHeight+";"; 
      document.getElementById("header").style = "height:"+headerHeight+";"; 
     } 
</script> 

작품 완벽하게 바탕 화면에, 파이어 폭스 개발자 에드을 사용하여 : 그 DIV,

<a href="#" onfocus="revert()">close</a> 

그리고 JS 내부. 반응 형 디자인 모드에서는 Simulate touch events이 활성화됩니다. 나는 버튼을 누르면

:-(내 모바일 장치에서 작동하는 것 아무것도. 어떤 아이디어를 발생하지 않는다?

+0

a) 더 나은 의미는 '

답변

0

을가 키보드 입력을 받아 들일 준비가 될 때 요소는 '집중', 난 당신을 생각 .. 아마 onclick을 원하는 대신 또한

, 당신은 아마 버튼을 원하는 다른 페이지로 연결하지 않는 경우 그래서 HTML은 다음과 같을 것이다 :

<button onclick="menu()">MENU</button> 
<button onclick="revert()">close</button> 

작동하지만 우리가 더 잘 할 수있는 그런 이 작업을 수행하려면가 있어야합니다. 10 및 revert 함수 정의 전에 단추. 즉, DOM보다 먼저 자바 스크립트를로드해야하므로 자바 스크립트가 DOM을 참조 할 수 없다는 의미입니다.

후 모든 DOM이로드 자바 스크립트를 넣어과 같이,이 이벤트를 바인딩 할 더 나은 : 당신을 말하는 거기 잘못된 정보를 많이 볼 수

function menu() { 
 
    document.getElementById("msg").innerHTML = 'Showing menu'; 
 
} 
 

 
function revert(){ 
 
    document.getElementById("msg").textContent = 'Not showing menu'; 
 
} 
 

 
// bind all events 
 
document.getElementById('open-menu-button').addEventListener('click', menu); 
 
document.getElementById('close-menu-button').addEventListener('click', revert);
<button id="open-menu-button">MENU</button> 
 
<button id="close-menu-button">close</button> 
 
<div id="msg"></div>

이 작업을 수행하기 전에 domloaded 이벤트가 발생할 때까지 기다려야하거나 $(document).ready()에 모든 내용을 포함해야합니다. JavaScript가 페이지의 맨 아래에 오도록하는 한 사실이 아닙니다.

관련 문제