2011-08-13 3 views

답변

3
$(input).keydown(function (e) { 
    if (e.which === 32) { 
     // do your thing 
    } 
}); 

여기에서 input은 INPUT 요소에 대한 참조입니다.

라이브 데모 : 상자가 산만하고 새 값이 이전 값과 다른 경우http://jsfiddle.net/uHpLg/

+1

이것은 공백을 수신하는 올바른 방법입니다. 그러나 이것이 관심사 인 경우 붙여 넣기 된 공백은 인식되지 않습니다. – josh3736

+0

josh3736이 대단히 정확합니다. 이것이 기술적으로 올바른 질문이지만, 아마도 당신이 찾고있는 것이 아닙니다. –

+0

@Zeta 왜 안 되니? OP는 붙여 넣기에 대해 아무 말도하지 않았습니다. –

1

입력 교환 이벤트에 리스너를 바인드하십시오. 현재 값과 마지막 값을 비교하고 새 문자가 공백인지 확인하십시오. 그렇다면 함수를 호출하십시오.

2

체크 아웃 jQuery의 keypress event :

$("#YourInputId").keypress(function() { 
    var code = (e.keyCode ? e.keyCode : e.which); 
    if(code == 32) { // 32 = space keycode 
     //Do something 
    } 
}); 

는 여기 list of javascript key codes이있는 웹 페이지입니다.

+1

'e'합니다 ([EVENTDATA 오브젝트 (http://api.jquery.com/event.which/)); 스스로 할 필요가 없습니다. 그냥'e.which'를 사용하십시오. – josh3736

0

당신이
가 있지만에만 작동합니다 변경 청취자를 입력 텍스트 상자를 선택하고 결합 할 수 있습니다

$(document).ready(function() { 

$('#mytextbox').change(function(){ 

if ($(this).val() == ' ') 
{ 

// do whatever u want 

} 

}); 

}); 

하지만 u는 자기 암시 같은 것을 원한다면 u는 UR 자신의 수신기를 만들 수 있습니다 (텍스트 입력 초점을 없앱니다하는 사용자를 위해 기다리지 않는다)

는 사용자가 유 누른 키를 확인 텍스트 상자, 키를 눌러 초점을 맞출 경우이며이 있다면 유 을 원하는대로 할 사용자가 입력 초점을 없앱니다 때, 그것은 그것을위한

$('#mytextbox').keypress(function (e){ 

if (e.keycode == 32) 
{ 

// do your code here 
} 

}); 

을 확인 정지 = ""입니다 누르기 JQUERY 기능 설명서에 http://asquare.net/javascript/tests/KeyCode.html : 키 코드에 대한 자세한 정보 http://api.jquery.com/keypress/

jQuery를 이미 정규화
+0

이 게시물의 형식을 지정하십시오 –

+0

* (편집 : 댓글을 달기 전에 게시물을 편집 한 것을 볼 수 있습니다.) * 변경 사항을 확인하기 위해 HTML 입력을 폴링하지 마십시오. 당신은'keydown' 이벤트를 가지고 있습니다! – josh3736

+0

내가 혼란스러워 질 때까지 keypress 대 keydown 함수에 문제가 있었지만 아직 우린 여전히 입력 폴링보다 낫다. –

관련 문제