programing

e에 해당하는 것이 있습니까?클릭 이벤트와 마찬가지로 '터치 스타트' 이벤트의 X페이지 위치는 무엇입니까?

starjava 2023. 8. 30. 21:04
반응형

e에 해당하는 것이 있습니까?클릭 이벤트와 마찬가지로 '터치 스타트' 이벤트의 X페이지 위치는 무엇입니까?

라이브 기능과 함께 사용되는 터치 스타트 이벤트의 X 위치를 jQuery로 얻으려고 합니다.

예.

$('#box').live('touchstart', function(e) { var xPos = e.PageX; } );

이제 '클릭'을 이벤트로 사용할 수 있습니다.(알파 jQuery Mobile을 사용하지 않고) 터치 이벤트로 어떻게 얻을 수 있습니까?

아이디어 있어요?

도와주셔서 감사합니다.

조금 늦었지만, 당신은 jQuery가 마사지한 이벤트가 아니라 원래 이벤트에 접속해야 합니다.또한 이러한 이벤트는 멀티 터치 이벤트이므로 다음과 같이 변경해야 합니다.

$('#box').live('touchstart', function(e) {
  var xPos = e.originalEvent.touches[0].pageX;
});

다른 손가락을 원하는 경우 터치 목록의 다른 인덱스에서 찾을 수 있습니다.

최신 JQuery에 대한 업데이트:

$(document).on('touchstart', '#box', function(e) {
  var xPos = e.originalEvent.touches[0].pageX;
});

저는 JQuery 기반 프로젝트에 이 간단한 기능을 사용합니다.

    var pointerEventToXY = function(e){
      var out = {x:0, y:0};
      if(e.type == 'touchstart' || e.type == 'touchmove' || e.type == 'touchend' || e.type == 'touchcancel'){
        var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
        out.x = touch.pageX;
        out.y = touch.pageY;
      } else if (e.type == 'mousedown' || e.type == 'mouseup' || e.type == 'mousemove' || e.type == 'mouseover'|| e.type=='mouseout' || e.type=='mouseenter' || e.type=='mouseleave') {
        out.x = e.pageX;
        out.y = e.pageY;
      }
      return out;
    };

예:

$('a').on('mousedown touchstart', function(e){
  console.log(pointerEventToXY(e)); // will return obj ..kind of {x:20,y:40}
})

이것이 당신에게 유용하기를 바랍니다 ;)

여기서 다른 답변 중 일부를 시도했지만 원래 이벤트도 정의되지 않았습니다.검사 결과, (다른 포스터에서 제안한 것처럼) TouchList 등급의 속성을 발견하고 다음 방법으로 X/Y 페이지에 도달할 수 있었습니다.

var x = e.changedTouches[0].pageX;

jQuery를 사용하지 않을 경우...이벤트 중 하나에 액세스해야 합니다.TouchLista를 얻기 위해Touch을 가진 물건.pageX/Y clientX/Y기타.

다음은 관련 문서에 대한 링크입니다.

사용 중e.targetTouches[0].pageX나의 경우에는

Touch 클래스에서 Safari 개발자 참조를 확인합니다.

이것에 따르면, 페이지 X/Y는 사용 가능해야 합니다 - 철자를 확인해야 할까요? 확실히 해야 합니다.pageX그리고 아닌PageX

언급URL : https://stackoverflow.com/questions/4780837/is-there-an-equivalent-to-e-pagex-position-for-touchstart-event-as-there-is-fo

반응형