>source

먼저 자바 스크립트에 대해 아는 것 외에는 전혀 모르므로 초심자 질문이라면 실례합니다.

이 버튼을 작동 시키려고합니다 :

<button onclick="myFunction();">Toggle</button>

내 코드 :

function myFunction() {
  var x = document.getElementById("toggle");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
}

<button onclick="myFunction();">Toggle</button>
<p id="toggle">x<p>

데스크탑 및 데스크탑 반응 형에서는 잘 작동하지만 실제 휴대 기기에서는 작동하지 않습니다.

내 인터넷 검색을 통한 대답은 "터치 이벤트 추가"일 수 있지만 확실하지는 않습니다. 도움을 주셔서 감사합니다!


  • 답변 # 1

    "vclick" 를 사용해야합니다  Jquery 사용 (예 :)

    예 :

    $( document ).on( "vclick", "p", function() {
      $( this ).append( "<span style='color:#108040;'> vclick fired... </span>" );
      });
    
    

    문서 참조 : https://api.jquerymobile.com/vclick/

    순수 JS를 사용하면 onmousedown 를 사용해 볼 수 있습니다 . 완벽하게 작동합니다. 방금 모바일에서 테스트했습니다. 보세요 :

    function myFunction() {
    var x = document.getElementById("toggle");
    if (x.style.display === "none") {
    x.style.display = "block";
    } else {
    x.style.display = "none";
    }
    }
    
    
    <div id="toggle">sdfsdfsd</div>
    <button onmousedown="myFunction();">Toggle</button>
    
    

  • 답변 # 2

    이 방법을 사용해 볼 수 있습니까?

    const btn = document.getElementById('btn');
    btn.addEventListener('click', () => {
      alert('Click');
    });
    btn.addEventListener('tap', () => {
      alert('Mobile click / Tap');
    });
    
    
    <button id="btn">Button</button>
    
    

    이것이 도움이 되었으면 좋겠습니다.

관련 자료

  • 이전 c++ - 오버로드 된 함수 "search"의 인스턴스가 인수 목록과 일치하지 않습니다
  • 다음 python - 첫 번째 코드에서 출력이 12이고 두 번째 코드에서 [2] [2] 인 이유는 무엇입니까?