2011-08-13 24 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

將偵聽器綁定到輸入onchange事件。 將當前值與上一個值進行比較,並檢查新字符是否爲空格 如果是,請調用函數。

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

jQuery已經規範化了'e' [[EventData object](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可以創建自己的烏爾聽衆

是當用戶焦點的文本框,按鍵按u檢查按鍵,如果它是=「」做什麼ü想 當用戶無焦點的輸入,它停止檢查它

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

if (e.keycode == 32) 
{ 

// do your code here 
} 

}); 

爲更多關於keycodes的信息:http://asquare.net/javascript/tests/KeyCode.html on keypress jquery功能文檔:http://api.jquery.com/keypress/

+0

請格式化這篇文章 –

+0

*(編輯:我看你在我評論之前編輯你的文章。)*不要輪詢HTML輸入來檢查更改。你有'keydown'事件,使用它們! – josh3736

+0

我有問題先按鍵Vs keydown功能,直到我感到困惑,但你仍然是正確的,它比投票輸入更好 –

相關問題