스와이프 환경에서 텍스트 드래그 풀기 및 막기 기능에 대한 코드를 작성하려 한다.
반응형으로 제작된 HTML에서 기존에 텍스트 드래그 방지를 위해서 코드가 있었는데, 이번엔 드래그될 수 있도록 요청이 왔음.
모바일에서는 단순하게 텍스트 드래그 방지 코드만 지우면 되는데
*:not(#id_search) {-webkit-touch-callout:none; -webkit-touch-select:none; -ms-user-select:none; -moz-user-select:none; -webkit-user-select:none; -user-select:none; -webkit-tap-highlight-color:rgba(0,0,0,0)} body {-webkit-overflow-scrolling:touch;}
정작 저 코드를 지워도 PC에서는 마우스 스와이프 때문에 텍스트 드래그 감지가 안 되는 현상.
user-select: text;
위 코드를 써보란 이야기도 있던데 어느 곳에 적용해도 PC 스와이프 내 본문 텍스트는 긁어지지 않음
user-select: auto | all | none | text;
브라우저에서 드래그나 더블 클릭을 사용한 텍스트 선택을 막을 때 사용한다고 함
auto : Default 값으로 브라우저 허용 시 텍스트 선택 가능
all : 더블클릭이 아닌 클릭만으로도 선택이 가능
none : 텍스트 선택 안 됨
text : 텍스트 선택이 가능
-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
바보와 같이 이리저리 다 해보다가…. 정말 단순한 방법으로 결론을;;;
어차피 이번 의뢰는 특정 상황에서만 텍스트를 긁어 올 예정이기에…. 스와이프 기능 파괴를 하는 게 가장 깔끔했음.
$(document).on('keydown', function(e) { if (e.key === 'F4') { e.preventDefault(); $("#wrapper").off(); } });
스와이프에 사용한 플러그인 : https://github.com/dohoons/jquery.touchSlider?tab=readme-ov-file
기타 css 글 : https://pixiclue.com/tag/css/