>웹 프론트엔드 >JS 튜토리얼 >jQuery는 다중 키 프레스 조합을 캡처합니다

jQuery는 다중 키 프레스 조합을 캡처합니다

Christopher Nolan
Christopher Nolan원래의
2025-03-04 00:39:15149검색

jQuery Capture Multiple Key Press Combinations 당신은 jQuery를 사용하여 단일 키를 캡처하는 방법을 배우기 위해 이전 기사를 읽었을 수 있습니다. 이 예에서는 여러 키 조합을 캡처 할 수 있습니다. Array (ArrshortCut)는 다음과 같이 정의됩니다. 1. 이름 (참조 만) 2. 키보드 코드 3. 변수 ishortcutcontrolkey 에서 실행되는 기능 컨트롤 키가 활성 상태 인 경우 "제어 키는"상태 "입니다. 확인 키가"제어 없음 "및"활성 상태 "를 누르면 기능이"execshortCut "을 호출하는 경우 배열에서 키의 사전 설정을 찾으십시오.

jQuery 및 키 조합의 FAQ jQuery에서 여러 키 조합을 감지하는 방법은 무엇입니까?

jQuery에서 여러 키 조합을 감지하려면 키 다운 또는 키 업 이벤트를 사용하는 것이 포함됩니다. 키와 관련된 키 코드를 얻으려면 이벤트를 사용할 수 있습니다. 여러 키를 감지하려면 배열이나 객체를 사용하여 현재 누르고있는 키를 추적 할 수 있습니다. 키 다운 이벤트가 트리거되면 추적 개체에 키를 추가하십시오. KeyUP 이벤트가 트리거되면 추적 객체에서 키를 삭제하십시오. 그런 다음이 개체를 확인하여 원하는 키 조합을 누르는 지 확인할 수 있습니다.

Keypress, Keydown 및 Keyup 이벤트의 차이점은 무엇입니까?
// 要测试 CTRL + Z = alert(2)

var arrShortCut = [{ name: 'test1', key: 15, fx: 'alert(1);' }, { name: 'test2', key: 90, fx: 'alert(2);' }];

var iShortCutControlKey = 17; // CTRL;
var bIsControlKeyActived = false;

$(document).keyup(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = false;
}).keydown(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = true;
    if (bIsControlKeyActived) {
        jQuery.each(arrShortCut, function(i) {
            if (arrShortCut[i].key == e.which) {
                execShortCut(arrShortCut[i].fx);
                return false; // 停止迭代
            }
        });
    }
});

function execShortCut(fx) {
    eval(fx);
}
키 다운 이벤트는 키를 누르면 트리거됩니다. Keypress 이벤트는 비슷하지만 문자 및 숫자와 같은 문자 값을 생성하는 키에 대해서만 트리거합니다. 키가 릴리스되면 키 업 이벤트가 트리거됩니다. 대부분의 경우 키 프레스를 감지하려면 키 다운 이벤트를 사용해야합니다.

주요 프레스 이벤트를 프로그래밍 방식으로 시뮬레이션하는 방법은 무엇입니까?

새로운 키보드 보도를 만들어 요소로 발송하여 주요 이벤트를 프로그래밍 방식으로 시뮬레이션 할 수 있습니다. 예를 들어, "A"키를 누르는 것을 시뮬레이션하려면 다음을 수행 할 수 있습니다.

보안 제한으로 인해 모든 브라우저에서 모든 이벤트를 시뮬레이션 할 수있는 것은 아닙니다.

jQuery에서 Keypress의 기본 작업을 차단하는 방법은 무엇입니까?

jQuery의 이벤트 핸들러에서 event.preventDefault () 메소드를 호출하여 키 프레스의 기본 작업을 차단할 수 있습니다. 이렇게하면 브라우저가 Keypress와 관련된 기본 동작을 수행하지 못하게됩니다.

jQuery에서 특정 키를 누르는 경우 감지하는 방법은 무엇입니까?

이벤트를 확인하여 특정 키를 눌렀는지 감지 할 수 있습니다. 이 속성에는 키 프레스의 키 코드가 포함됩니다. 예를 들어, "A"키를 누르는지 확인하려면 다음을 수행 할 수 있습니다.

주요 코드는 브라우저와 운영 체제마다 다를 수 있으므로 라이브러리 또는 키 코드 목록을 사용하여 호환성을 보장하는 것이 가장 좋습니다.

jQuery에서 Ctrl C 또는 Ctrl V와 같은 주요 조합을 감지하는 방법은 무엇입니까?

이벤트 외에도 이 특성이있는 이벤트 외에도 event.ctrlkey 속성을 확인하여 jQuery에서 Ctrl C 또는 Ctrl V와 같은 주요 조합을 감지 할 수도 있습니다. Ctrl 키를 누르면 event.ctrlkey 속성이 참이됩니다. 예를 들어 Ctrl C 조합을 감지하려면 다음을 수행 할 수 있습니다.

"C"의 키 코드는 67이고 "V"의 키 코드는 86입니다.

jQuery에서 주요 프레스 이벤트 전파를 중지하는 방법은 무엇입니까?

이벤트 핸들러에서 event.stopPropagation () 메소드를 호출하여 jQuery에서 주요 프레스 이벤트 전파를 중지 할 수 있습니다. 이렇게하면 DOM 트리에서 이벤트가 거품이 발생하지 않고 부모 요소의 핸들러가 트리거됩니다.
// 要测试 CTRL + Z = alert(2)

var arrShortCut = [{ name: 'test1', key: 15, fx: 'alert(1);' }, { name: 'test2', key: 90, fx: 'alert(2);' }];

var iShortCutControlKey = 17; // CTRL;
var bIsControlKeyActived = false;

$(document).keyup(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = false;
}).keydown(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = true;
    if (bIsControlKeyActived) {
        jQuery.each(arrShortCut, function(i) {
            if (arrShortCut[i].key == e.which) {
                execShortCut(arrShortCut[i].fx);
                return false; // 停止迭代
            }
        });
    }
});

function execShortCut(fx) {
    eval(fx);
}
jQuery의 핵심 이벤트에 함수를 바인딩하는 방법은 무엇입니까?

Keydown, Keypress 또는 KeyUp 방법을 사용하여 jQuery의 Keypress 이벤트에 함수를 바인딩 할 수 있습니다. 예를 들어, 함수를 "A"키에 바인딩하려면 다음을 수행 할 수 있습니다.

"a"키를 누를 때 실행하려는 함수 인 MyFunction이있는 경우.

jQuery의 키 이벤트에서 함수를 풀리는 방법은 무엇입니까?

OFF 메소드를 사용하여 jQuery의 키 이벤트에서 함수를 풀 수 있습니다. 예를 들어, 이전 예제의 "A"키에 바인딩 된 함수를 풀려면 다음을 수행 할 수 있습니다.

키 다운 메소드를 OFF 메소드로 전달하는 것과 동일한 함수 참조를 전달해야한다는 것을 기억하십시오.

jQuery에서 여러 특정 키를 동시에 누르는 지 여부를 감지하는 방법은 무엇입니까?

첫 번째 질문에 대한 답에 언급 된 바와 같이, 배열이나 객체를 사용하여 현재 누르고있는 키를 추적하여 여러 특정 키가 jQuery에서 동시에 누르는 지 여부를 감지 할 수 있습니다. 예를 들어 "A"및 "B"키가 동시에 누르는지 여부를 감지하려면 다음을 수행 할 수 있습니다.

"A"의 키 코드는 65이고 "B"의 키 코드는 66입니다.

이 개정 된 응답은 명확성을 향상시키고, 더 나은 이해를 위해 코드 댓글을 추가하며, 첫 번째 코드 예제에서 약간의 오류를 수정합니다 (jQuery를 중지하기 위해

를 추가하면 FAQ 섹션이 더 간결하고 더 잘 구성됩니다.
$(document).keydown(function(event) {
    if (event.which == 65) {
        alert('您按下了“a”键!');
    }
});
.

위 내용은 jQuery는 다중 키 프레스 조합을 캡처합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.