텍스트 입력 필드에서 Enter 키를 검출합니다.
특정 입력 중에 enter를 누르면 기능을 수행하려고 합니다.
내가 뭘 잘못하고 있지?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
이 작업을 수행할 수 있는 더 좋은 방법은 무엇입니까?.input1작동합니까?
$(".input1").on('keyup', function (e) {
if (e.key === 'Enter' || e.keyCode === 13) {
// Do something
}
});
// e.key is the modern way of detecting keys
// e.keyCode is deprecated (left here for for legacy browsers support)
// keyup is not compatible with Jquery select(), Keydown is.
event.key === "Enter"
보다 최신, 보다 깨끗한 사용:event.key. 더 이상 임의의 번호 코드는 없습니다!
메모: 이전 속성(
.keyCode그리고..which)는 권장되지 않습니다.
const node = document.getElementsByClassName("input1")[0];
node.addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// Do work
}
});
람다와 파괴력이 있는 모던한 스타일
node.addEventListener("keyup", ({key}) => {
if (key === "Enter") {
// Do work
}
})
jQuery를 사용해야 하는 경우:
$(document).keyup(function(event) {
if ($(".input1").is(":focus") && event.key == "Enter") {
// Do work
}
});
$(document).keyup(function (e) {
if ($(".input1:focus") && (e.keyCode === 13)) {
alert('ya!')
}
});
또는 입력 자체에 바인드할 수도 있습니다.
$('.input1').keyup(function (e) {
if (e.keyCode === 13) {
alert('ya!')
}
});
필요한 keyCode를 확인하려면 http://keycode.info 웹사이트를 이용하십시오.
이 조작을 실시하면,Enter텍스트 상자에서 키를 눌렀습니다.
$(function(){
$(".input1").keyup(function (e) {
if (e.which == 13) {
// Enter key pressed
}
});
});
내가 찾은 가장 좋은 방법은keydown(thekeyup잘 안 되네)
주의: 보통 Enter 키를 눌렀을 때 몇 가지 조작을 하고 싶을 때는 폼을 송신하는 것 밖에 생각되지 않기 때문에 폼 송신도 무효로 했습니다.
$('input').keydown( function( event ) {
if ( event.which === 13 ) {
// Do something
// Disable sending the related form
event.preventDefault();
return false;
}
});
이 질문에 답하기엔 너무 늦을지도 모른다.그러나 다음 코드는 단순히 Enter 키를 차단합니다.복사해서 붙여넣기만 하면 됩니다.
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
나에게 효과가 있는 솔루션은 다음과 같다.
$("#element").addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// do something
}
});
텍스트 상자에서 Enter 키를 누른 것을 감지하려면 이 작업을 수행하십시오.
$(document).on("keypress", "input", function(e){
if(e.which == 13){
alert("Enter key pressed");
}
});
$(document).ready(function () {
$(".input1").keyup(function (e) {
if (e.keyCode == 13) {
// Do something
}
});
});
이 코드가 사이트 전체의 모든 입력을 처리했어요.INPUT 필드 내에 ENTER KEY가 있는지 확인하고 TEXTAREA 등의 장소에서는 정지하지 않습니다.
$(document).on("keydown", "input", function(e){
if(e.which == 13){
event.preventDefault();
return false;
}
});
각진 프로젝트를 위해 다음과 같이 했습니다.
HTML:
<input
class="form-control"
[(ngModel)]="searchFirstName"
(keyup)="keyUpEnter($event)"
/>
Type Script:
keyUpEnter(event: KeyboardEvent) {
if (event.key == 'Enter') {
console.log(event);
}
}
언급URL : https://stackoverflow.com/questions/7060750/detect-the-enter-key-in-a-text-input-field
'programing' 카테고리의 다른 글
| JavaScript에서 이메일을 보내는 방법 (0) | 2022.11.14 |
|---|---|
| javascript에서 포커스를 지우려면 어떻게 해야 하나요? (0) | 2022.11.14 |
| PHP var_dump()와 같이 Smarty에서 변수를 디버깅하는 방법 (0) | 2022.11.14 |
| 오류 메시지 "Strict standards:변수만 참조로 전달해야 합니다." (0) | 2022.11.14 |
| yii2에는 고정 연결 옵션이 있습니까? (0) | 2022.11.14 |