2012-05-12 5 views
0

나는 모바일 사이트에서 일하고 있으며, 내가 원하지 않을 때 이벤트 발사에 어려움을 겪고있다. 페이지를 스크롤 할 때 때때로 사용자가 따라서 (아약스 요청이 발생하는 원인 변경 항목을 칠 것이다, 그러나드래그 후 touchend 이벤트를 방지하는 방법?

el.on('touchend', function(ev) { 
    ev.preventDefault(); 
    // fire an ajax call 
}; 

: 간단하게하기 위해서

, (jQuery를에) 같은 것을 쓰여 페이지 상태).

나는 그 길을 생각할 수 없었다. (ev.stopPropagation()이 작동하지 않았다.) 그래서 나는 dragstart와 dragend 이벤트를 보았다.

el.on('dragstart', function() { 
    el.off('touchend'); 
}); 

el.on('dragend', function(ev) { 
    ev.stopPropagation(); // <-- seems to do nothing 
    // add back the event above (the function is set to a var) 
}); 

나는 touchend 콜백 내부 경고 경우

, 나는 내가 끌어 정지 후 touchend 이벤트가 실제로 화재에서했던 것을 확인를 얻을.

다른 이벤트가 발생하는 것을 방지하는 방법을 알고 계신 분이 있습니까? 나는 눈이 멀어서 명백한 것을 놓치기를 바라고 있습니다.

미리 감사드립니다.

답변

0

이벤트가 시작되는 것을 막을 수는 없으며 해당 이벤트의 기본 동작이 발생하지 않도록 할 수만 있습니다.

touchend 이벤트가 시작되기 전에 페이지가 변경되는 것에 대해 걱정할 경우 기능을 변경하여 상태 변경을 확인한 다음 계정을 변경해야합니다.

0

이 경우에는 사용해야한다고 생각합니다

event.stopImmediatePropagation();

관련 문제