>  기사  >  웹 프론트엔드  >  jQuery.keypress() 함수 사용법에 대한 자세한 설명

jQuery.keypress() 함수 사용법에 대한 자세한 설명

黄舟
黄舟원래의
2017-06-27 14:02:152389검색

keypress() 함수는 일치하는 각 요소의 keypressevent에 핸들러 함수를 바인딩하는 데 사용됩니다. 또한 이벤트 핸들러 함수에 몇 가지 추가 데이터를 전달할 수도 있습니다.

keypress 이벤트는 키보드 키를 눌렀을 때 발생합니다. keydown 이벤트와 비슷하지만 keypress는 키를 눌렀을 때 어떤 문자가 눌렸는지에 초점을 맞추고(문자를 인쇄할 수 있는 키만 키 누르기를 트리거합니다), keydown은 어떤 키를 눌렀는지에 초점을 맞춥니다(아무 키나 누르면 keydown 을 트리거할 수 있음). Ctrl, Alt, Shift, Delete, Esc 등과 같은 수정자 및 인쇄되지 않는 키의 경우 keydown 이벤트를 수신합니다.

또한 동일한 요소에 대해 이 함수를 여러 번 호출하여 여러 이벤트 핸들러를 바인딩할 수 있습니다. keypress 이벤트가 트리거되면 jQuery는 바인딩된 순서대로 바인딩된 이벤트 처리 기능을 실행합니다.

keypress()를 통해 바인딩된 이벤트를 삭제하려면 unbind() 함수를 사용하세요.

이 함수는 jQuery 객체(인스턴스)에 속합니다.

Syntax

jQueryObject.keypress( [[ data ,]  handler ] )

Parameters

jQuery.keypress() 함수 사용법에 대한 자세한 설명

jQuery 1.4.3 새로운 지원: keypress()는 데이터 매개변수를 지원합니다.

매개변수 핸들러의 이 항목은 현재 DOM 요소를 가리킵니다. keypress()는 또한 핸들러에 매개변수(현재 이벤트를 나타내는 Event 객체)를 전달합니다.

반환 값

keypress()함수의 반환 값은 jQuery 유형이며 현재 jQuery 개체 자체를 반환합니다.

예제 및 설명

다음 HTML 샘플 코드를 참조하세요.

<input id="chars" type="text" />

이제 핸들러 함수를 window 객체의 keypress 이벤트에 바인딩합니다. (여러 개가 바인딩될 수 있으며 순서대로 실행됩니다. 트리거 시 바인딩 순서):

keypress事件的event.which属性返回的是按键所输入的字符的Unicode值。keydown事件的event.which属性返回的是所按下的键盘按键的映射代码值。

// 检测按键输入的字符
// Ctrl、Alt等非打印键不会触发keypress事件
$(window).keypress( function(event){
    $("body").append( "<br>你输入了字符[" + String.fromCharCode( event.which ) + "](event.which=" + event.which + &#39;)&#39; ) ;
} );

// 触发keypress事件
// $(window).keypress( );

我们还可以为事件处理函数传递一些附加的数据。此外,通过jQuery为事件处理函数传入的参数Event对象,我们可以获取当前事件的相关信息(比如事件类型、触发事件的DOM元素、附加数据等):

// { A:65, Z:90, a:97, z:122 }
var validChars = { "A": "A".charCodeAt(0), "Z": "Z".charCodeAt(0), "a": "a".charCodeAt(0), "z": "z".charCodeAt(0)  };

// 只允许输入大小写字母,不允许输入其他字符(使用某些输入法可能会绕过该限制,从而输入中文或其它字符)
$("#chars").keypress( validChars, function(event){
    var ch = event.data;
    return event.which >= ch.A && event.which <= ch.Z || event.which >= ch.a && event.which <= ch.z;
} );

위 내용은 jQuery.keypress() 함수 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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