[스크립트] eventSwipe. HTML에서 swipe 이벤트를 사용할 수 있도록 해줍니다.

swipestsart , swipemove , swipeend 라는 이벤트를 사용할 수 있도록 해줍니다.



/**
 * event for swipe
 */
 
(function () {
  if ( typeof window.CustomEvent === "function" ) return false;
  function CustomEvent ( event, params ) {
    params = params || { bubbles: false, cancelable: false, detail: null };
    var evt = document.createEvent( 'CustomEvent' );
    evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
    return evt;
  }
  window.CustomEvent = CustomEvent;
})();
 
const eventSwipe = (function(){
  let eventSwipe = {
    debug:false,
  };
  let pointerState = {
    actived:0,
    x:null,
    y:null,
    swipeStartTarget:null,
  }
  let pointerdown = function(evt){
    pointerState.actived=1;
    pointerState.x=evt.clientX;
    pointerState.y=evt.clientY;
    pointerState.swipeStartTarget=evt.target;
    let eventData = {
      deltaX:0,
      deltaY:0,
      swipeStartTarget:pointerState.swipeStartTarget,
    };
    evt.target.dispatchEvent(new CustomEvent('swipestart', { bubbles: true, cancelable: true, detail: eventData }));
    if(eventSwipe.debug){ console.log(evt); }
  };
  let pointermove = function(evt){
    if(!pointerState.actived){return}
    let eventData = {
      deltaX:evt.clientX-pointerState.x,
      deltaY:evt.clientY-pointerState.y,
      swipeStartTarget:pointerState.swipeStartTarget,
    };
    evt.target.dispatchEvent(new CustomEvent('swipemove', { bubbles: true, cancelable: true, detail: eventData }));
    if(eventSwipe.debug){ console.log(evt); }
  };
  let pointerup = function(evt){
    if(!pointerState.actived){return}
    let eventData = {
      deltaX:evt.clientX-pointerState.x,
      deltaY:evt.clientY-pointerState.y,
      swipeStartTarget:pointerState.swipeStartTarget,
    };
    evt.target.dispatchEvent(new CustomEvent('swipeend', { bubbles: true, cancelable: true, detail: eventData }));
    pointerState.actived=false;
    pointerState.x=null;
    pointerState.y=null;
    pointerState.swipeStartTarget=null;
    if(eventSwipe.debug){ console.log(evt); }
  };
  document.addEventListener('pointerdown',pointerdown,false)
  document.addEventListener('pointermove',pointermove,false)
  document.addEventListener('pointerup',pointerup,false)
 
  return eventSwipe;
})()
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

HTML/CSS/기타

번호 제목 글쓴이 날짜 조회수
6 Datepicker + 년월만 선택하기 관리자 06-06 5,753
5 JCROP을 이용한 이미지 자르기 관리자 05-18 841
4 jquery-file-upload 관리자 05-18 1,387
3 [스크립트] printjs 관리자 12-09 974
2 [스크립트] eventSwipe. HTML에서 swipe 이벤트를 사용할 수 있도록 해줍니다. 관리자 11-01 1,098
1 [QR] 구글 API로 QR 코드 생성 / Wi-fi 접속 QR 코드 생성 관리자 10-21 3,686