Programing

jQuery에서 oncut, oncopy 및 onpaste를 어떻게 처리합니까?

lottogame 2020. 11. 18. 08:22
반응형

jQuery에서 oncut, oncopy 및 onpaste를 어떻게 처리합니까?


의 jQuery 문서 , 흐림, 초점, 부하, 크기 조절, 스크롤, 언로드, 클릭, dblclick, mousedown, mouseup에, MouseMove 이벤트, 마우스 오버, 마우스를 이동하면, mouseenter,하는 MouseLeave, 변경, 선택 라이브러리가 내장되어 지원 다음과 같은 이벤트를 말한다 제출, keydown, keypress, keyup 및 오류.

잘라 내기, 복사 및 붙여 넣기 이벤트를 처리해야합니다. 어떻게하면 좋을까요? FWIW, 나는 WebKit에 대해서만 걱정할 필요가 있습니다.

업데이트 : 대시 보드와 같은 환경에서 "위젯"작업을하고 있습니다. WebKit을 사용하므로 이러한 이벤트가 지원되는지 여부는 (내 목적을 위해) 실제로 중요합니다.


.on()off()메서드 를 사용하여 모든 종류의 이벤트를 추가 및 제거 할 수 있습니다.

예를 들어 이것을 시도하십시오.

jQuery(document).on('paste', function(e){ alert('pasting!') });

jQuery는 실제로 할당 한 이벤트 유형이 브라우저에서 지원되는지 여부와 무관하므로 다음과 같은 요소 (및 일반 개체)에 임의의 이벤트 유형을 할당 할 수 있습니다.

jQuery('p').on('foobar2000', function(e){ alert(e.type); });

사용자 지정 이벤트 유형의 경우 다음 .trigger()과 같이 코드에서 "수동"으로 지정해야 합니다.

jQuery('p').trigger('foobar2000');

깔끔한 어?

또한 브라우저 간 호환 가능한 방식으로 독점 / 사용자 정의 DOM 이벤트를 사용하려면 "jQuery 이벤트 플러그인"을 사용 / 작성해야 할 수 있습니다. 그 예는 다음에서 볼 수 있습니다. jquery.event.wheel.jsBrandon Aaron의 Mousewheel 플러그인


Javascript에서 다양한 클립 보드 이벤트를 사용할 수 있지만 지원이 부족합니다. QuicksMode.org에는 호환성 표테스트 페이지가 있습니다. 이벤트는 jQuery를 통해 노출되지 않으므로 라이브러리를 확장하거나 기본 Javascript 이벤트를 사용해야합니다.


Mozilla는 유용한 문서를 찾는 데 어려움이있는 "입력"이벤트를 지원합니다. 적어도 나는 그것이 풀에 발화된다는 것을 알고 있습니다.

   this.addEventListener('input',
    function(){//stuff here},
    false
   );

jQuery 1.7에서는 bind (...)unbind (...) 메서드를 사용하여 각 핸들러를 연결하고 제거 할 수 있습니다 .

다음은 질문에 맞는 예입니다.

$('#someElementId').bind('paste', function(){return false;});

-이것은 클립 보드에서 요소 본문으로 붙여 넣으려는 시도를 차단합니다. 잘라 내기 , 복사 및 기타를 이벤트 유형으로 사용할 수도 있습니다 (아래 링크 참조).

$('#someElementId').bind('copy', function(){return alert('Hey fella! Do not forget about copyrights!');});

따라서 다른 경우에는 이러한 처리기를 제거하려는 경우 unbind () 메서드를 사용할 수 있습니다 .

$('#someElementId').unbind('copy');

다음은 몇 가지 유용한 링크입니다.

참고 URL : https://stackoverflow.com/questions/237254/how-do-you-handle-oncut-oncopy-and-onpaste-in-jquery

반응형