2017-03-23 10 views
2

나는 사용자는 화면에 사각형을 클릭 다음터치 이벤트로 "enter"이벤트 감지를 구현할 수 있습니까?

  1. 을 할 수있는 요구 사항을 가지고있다.
  2. 그리드이기 때문에 이웃 사각형이 있습니다. 사용자는 마우스를 놓지 않고 이웃 사각형으로 이동할 수 있습니다.이 새로운 사각형으로 들어가는 마우스를 감지하여 첫 번째 움직임 이후에 다음 사각형을 활성화해야합니다. 이동 방향은 고정된다.
  3. 마우스를 다시 놓을 때까지, 마우스를 놓을 때까지 모든 것이 일치하는지 확인하십시오.

내가 마지막 단계를 처리 onmouseup에 문서를 추가, onmousedown, onmouseenteronmouseleave와 farily 잘 구현했다.

문제는 모바일 장치에서 작동하는 데 필요하다는 것입니다. 나는 touchstart, touchmove 조합과 함께 divs를 드래그하여 구현할 수 있었으며 간단했다. 지금은 위에서 설명한 동작을 구현하려하지만 난

  • 가 더 이상 touchenter 또는 touchleave 이벤트 존재하지 않으며, 대상이 이미 touchstart 이벤트를 있었다면 touchmove 것을 분명히에만 트리거되는 것을 발견했다.

그것은, 내가 터치 장치가 마우스를 올리면 같은 아니라는 것을 이해한다이 작업을 수행 할 완벽한 방법이 없다고 실망,하지만 큰 차이없이 취급 할 필요가 고려의 공통 동작이 있습니다, 단지 다른 치료 각 장치가 가지고있는 특별한 것들.

이렇게하는 방법이 있다면 실제로 문서를 읽고 문제를 해결하는 것처럼 보이지만 시도하지 않는 데 지쳐 있기 때문에 정말 감사 할 것입니다.

코멘트에서 요청으로

, 이것은이 그리드, 그것은 파일에서 추출하고 다른 프로그램으로 생성 된 것, 정적이 아니며는 HTML 직접 만든 것을 내 그리드 enter image description here

주, 그것은이다 단순히 <table>입니다.

+0

페이지의 대략적인 그림/스크린 샷 추가 –

답변

1

내 최종 용액 용기 (테이블 본체)의 touchmove 수신기를 추가하는 것, 그리고 수동 트리거 elementFromPoint() 주어진 요소에 대한 이벤트를 사용.

이벤트가 한 번 이상 발생하지 않도록 이벤트가 트리거 된 마지막 요소를 추적합니다. 또한 필요한 경우 touchleave을 트리거 할 수 있습니다.

+0

현재 사용중인 그리드를 어떻게 감지합니까? – Jun

+1

기억이 안납니다. 이메일을 보내주십시오. 온라인에 게시되지 않았으므로 코드를 보낼 수 있습니다. 이는 SCORM 패키지 관리자를 위해 특별히 설계되었습니다. 특정 타블렛 장치에 사용되는 사용자 정의 SCORM 렌더러에서 사용됩니다. 그러나 일반적인 해결책을 쓰고 싶습니다. 이렇게하면 도움이 될 가능성이 높습니다. 내 이메일은 [email protected]입니다. –