2014-04-24 3 views
0

이런 식으로하려고하는데 작동하지 않습니다. 다르게하는 방법이 있습니까?텍스트 상자에서 키를 누르면 경고가 표시됩니다.

user_password는 로그인 화면의 텍스트 상자 ID입니다.

입력을 누르면 모든 텍스트 상자의 이벤트가 취소되었지만 로그인 페이지의이 암호 필드에서만 입력을 허용 할 수 있습니다. 그래서 내 전체 코드는 다음과 같습니다

$(document).keypress(function (e) { 
if($("#user_password").keypress()){ 
    alert("hello"); 
} 
if(e.which == 13 && e.target.nodeName != "TEXTAREA") return false; 
}); 
+0

당신이 다음 ID를 사용하는 이유는 다른 사람을 위해 취소해야 . id는 페이지의 한 요소에만 적용 할 수있는 고유 한 ID입니다. 그것이 당신이 찾고있는 것이라면 내 대답을 확인하십시오. 내 대답은 당신이 user_password 필드에 enter를 누를 때 작동 할 것이다. –

+0

더 도움이 될 바이올린을 할 수있다. –

답변

4

당신은 이벤트 처리기를 설정해야 if 문은 여기에 관련되지 않은 :

$("#user_password").keypress(function() { 
    alert("hello"); 
}); 

당신이보고, 이벤트를 트리거하는 요소를 찾으려면 이벤트의 target 특성 :

$(document).keypress(function (e) { 
    if (e.target == $("#user_password")[0]) 
    alert("hello"); 

    if(e.which == 13 && e.target.nodeName != "TEXTAREA") return false; 
}); 
+0

나는 내가 필요한 것에 대한 나의 설명에 조금 더 많은 코드를 추가했다. – Doctor06

+0

은 일을하지 않을 keyup입니까 ?? –

+0

그는 단지 조건이 관련이 없다고 말하는 것입니다 @EhsanSajjad –

0
$(function() { 
    $("#user_password").on("keyup", function(e) { 
     var code = e.keyCode || e.which; 
     if (code === 13) { 
      alert('You pressed enter key in textbox with id user_password'); 
     } 
    }); 
}); 
관련 문제