'2019/02/25'에 해당되는 글 2건

  1. 2019.02.25 [Mac OS X] Synergy 스크린락 해결방법
  2. 2019.02.25 [Javascript] Drag&Drop 을 막고싶은 경우

Synergy 의 client 중에 하나가 Mac 일경우, Mac 스크린락이 동작하면 Synergy Host 에서 키가 동작하지 않아 난감한 상황이 닥치곤 한다.

이때에는 Mac 에서 다음과 같은 방법으로 설정하여 Mac의 자동실행 항목으로 Synergy 를 등록하면 Mac 에 스크린락이 동작하여도 Synergy Host 의 키입력이 동작한다.


Mac 에서 자동실행 항목 등록 방법

  1. 시스템 환경설정 클릭
  2. 현재 사용자의 로그인 항목 탭 클릭
  3. 하단에 '+' 버튼 클릭
  4. 응용 프로그램에서 Synergy 항목을 선택 후 추가
  5. 로그인할때 자동으로 실행됩니다. 목록에 Synergy 가 추가되었다면, 이후 스크린락이 동작하여도 Synergy 도 정상 동작한다.


Posted by leechwin

댓글을 달아 주세요

특정 Dom 이나 전체 Window 에 Drag&Drop 동작을 막고 싶은경우, dragoverdrop 이벤트에 핸들러를 추가하는 방법으로 처리하는경우가 있는데, 이렇게 해도 잘 안되는 경우가 있다.

window.addEventListener('dragover', (e) => {
  e.stopPropagation();
  e.preventDefault();
}, false);

window.addEventListener('drop', (e) => {
  e.stopPropagation();
  e.preventDefault();
}, false);

이런경우에는 drag&drop 시에 drag 되는 data 를 유지하기 위해 사용되는 DataTransfer 객체값을  수정해주면 제대로 동작한다.

window.addEventListener('dragover', (e) => {
  e.stopPropagation();
  e.preventDefault();
  e.dataTransfer.effectAllowed = 'none';
  e.dataTransfer.dropEffect = 'none';
}, false);

window.addEventListener('drop', (e) => {
  e.stopPropagation();
  e.preventDefault();
  e.dataTransfer.effectAllowed = 'none';
  e.dataTransfer.dropEffect = 'none';
}, false);

위와 같이 effectAllowed 와 dropEffect 속성을 'none' 으로 수정하여 적용하면 Drag&Drop 동작이 적용되지 않는다.

  • effectAllowed
    • 드래그 효과를 제한할 수 있고, 다음과 같은 문자열 값이 사용된다.
    • none, copy, link, move, copyLink, copyMove, linkMove, all
  • dropEffect
    • 마우스를 놓았을 때 발생하는 효과

Reference


Posted by leechwin

댓글을 달아 주세요