iPad 용 앱을 개발 중입니다. (내부 앱이므로 iPad 용이며 다른 기기 용이 아닙니다.)입력을 클릭 해제하는 방법은 무엇입니까?
앱의 1 페이지에 2 페이지 링크가 있습니다. 그러나 독립형 모드로 유지해야하기 때문에 링크의 기본 클릭 동작을 차단하고 대신 location
개체를 변경했습니다. 페이지 2는 내가 방금 클릭 한 링크와 정확히 동일한 좌표에서 텍스트 입력이 발생합니다. 링크에서 클릭 비헤이비어를 비활성화했지만 click 이벤트는 링크가 있던 입력에서 실행 중입니다. (이는 touchend
의 발사 및 click
의 발사 사이의 지연이다.) I는 입력의 클릭에 모두 event.preventDefault()
및 event.stopPropagation()
을 시도하지만, 클릭 이벤트가 아직 발사 및 아이 패드의 키보드를 여는
.
아이디어를 어떻게 중지 하시겠습니까? 감사.
편집 : 입력은 사용자가 의도적으로 포커스를 둡니다 때 (그리고 나는 이러한 목표를 달성하기 위해 touchend
이벤트를 사용합니다) 작업을 필요로 readonly
또는 disabled
에 입력을 설정하면, 그러면 옵션이 아니다.
문제는 첫 번째 페이지에서 사용자가 링크를 터치하여 touchend
및 click
이벤트를 발생시키는 것입니다. touchend
은 location.pathname
으로 변경되고 두 번째 페이지가로드 된 후에 click
이벤트가 시작됩니다. 두 번째 페이지에는 click
이벤트가 발생한 동일한 좌표에 텍스트 필드가 있으므로 event.target
은 input
이되어이 이벤트를 사용하지 않도록 설정하려는 모든 시도가 실패했습니다.
기본값을 방해하고 자체를 제거하는 클릭 수신기 내부에 touchend 이벤트 수신기를 설정할 수 있습니다. 이렇게하면 첫 번째 클릭 만 취소됩니다. –
고마워요. - 해결책이 아니었지만 올바른 방향으로 나를 지적했습니다. 'touchend'에'location.pathname'을 변경하고 폼에 대한 클릭이 트리거되지 않게하는 메소드에'event.stopPropagation'과'event.preventDefault'를 추가했습니다. –