>  기사  >  웹 프론트엔드  >  모바일 H5 바이두맵 클릭 이벤트 소개(코드 예시)

모바일 H5 바이두맵 클릭 이벤트 소개(코드 예시)

不言
不言앞으로
2019-02-13 14:49:113478검색

이 글은 모바일 H5의 바이두 지도 클릭 이벤트에 대한 소개(코드 예시)를 담고 있습니다. 도움이 필요한 친구들이 참고하시면 좋겠습니다.

바이두 지도 공식 설명에 따르면 모바일 H5 페이지에서는 다음 4가지 이벤트를 모니터링할 수 있습니다.

touchstart, touchmove, touchend, longpress

모바일 H5 바이두맵 클릭 이벤트 소개(코드 예시)

그리고 click 이벤트가 모니터링되는 경우 지도, 모바일 단말기 에서는 이 이벤트의 코드가 실행 되지 않습니다.

전에 요청했을 때 지도에 대한 터치엔드 이벤트를 모니터링했는데, 지도를 드래그하면 터치엔드에 있는 코드도 실행된다는 생각은 전혀 못했어요. 따라서 이 문제를 해결하려면 zepto와 같은 탭 이벤트를 시뮬레이션해야 합니다.

내 코드는

function initMap(baseData) {
    var mp = new BMap.Map('map');
    var point = new BMap.Point(
      baseData.data.gardenLongitude,
      baseData.data.gardenLatitude
    );

    mp.centerAndZoom(point, 15);

    // 保存 touch 对象信息
    var obj = {};

    mp.addEventListener('touchstart', function (e) {
      obj.e = e.changedTouches ? e.changedTouches[0] : e;
      obj.target = e.target;
      obj.time = Date.now();
      obj.X = obj.e.pageX;
      obj.Y = obj.e.pageY;
    });

    mp.addEventListener('touchend', function (e) {
      obj.e = e.changedTouches ? e.changedTouches[0] : e;
      if (
        obj.target === e.target &&
        
        // 大于 750 可看成长按了
        ((Date.now() - obj.time) <p class="comments-box-content"></p>입니다.

위 내용은 모바일 H5 바이두맵 클릭 이벤트 소개(코드 예시)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제