>source

페이지에서 일부 텍스트를 선택한 다음 버튼을 클릭하면 Safari(최소한 모바일 버전)를 제외한 거의 모든 브라우저에서 텍스트 선택이 유지됩니다.

Safari가 다른 모든 것과 똑같이 작동하도록 하는 방법이 있습니까?

일부 텍스트를 선택하고 버튼을 클릭해도 Safari에서 선택한 텍스트가 보고되지 않는 문제를 보여주는 간단한 jsFiddle(선택이 제거되고window.getSelection()아무것도 반환하지 않음): https://jsfiddle.net/u5b3awhd/

<span>here's some text to select</span>    <button onclick="showSelection()">click me</button>    <div id="message"></div>

function showSelection() {
      document.getElementById("message").innerText= "selected " + window.getSelection();
    }

추가를 시도했습니다.사용자 선택: 없음버튼과 스타일이 비슷했지만 도움이 되지 않았습니다.

또한 다른 입력 이벤트(마우스 이벤트 등)에서 선택한 텍스트를 가져오기 위한 몇 가지 권장 사항을 찾았지만 더 나은 솔루션을 찾고 있는 두 가지 주요 이유가 있습니다.

  1. 특히 마우스가 없는 모바일에서 실행해야 하기 때문에 약간 해킹된 것처럼 보입니다. 따라서 이러한 이벤트는 에뮬레이트되며 다른 바람직하지 않은 부작용 없이 바로 하기가 까다로울 수 있습니다. 비록선택 변경이벤트가 이 문제를 부분적으로 해결할 수 있지만 여전히 또 다른 문제가 있습니다 #2...
  2. 브라우저 UI의 텍스트 선택이 실제로 손실되고 사용자가 나중에 다시 선택해야 합니다. 이는 특히 다른 브라우저에서 잘 작동한다는 점을 고려할 때 최상의 경험이 아닙니다.

2022년에는 모두 어떻게 이 문제를 해결할까요?

IOS 15 Safari 설치에서 이 문제가 표시되지만 IOS 14(둘 다 iPad에서)에서는 표시되지 않습니다. 어떤 버전을 실행하고 있습니까?

A Haworth2022-02-14 14:03:59

iPhone의 최신 IOS 15. 와우 이게 특정 버전인지 몰랐네요. Safari의 기본적인 동작이라고 생각했습니다.

curious coder2022-02-14 16:57:46

네, 많이 놀랐습니다.

A Haworth2022-02-14 17:38:09
  • 이전 java : Android가 작동하지 않는 set/getTag()의 조건부 논리
  • 다음 mpandroidchart : MPChart 꺾은선형 차트에서 X축을 0선으로 표시