2012-11-14 192 views
2

我想在文本框中按下Enter鍵時看到提示文本。 在jQuery中,我可以檢查每個關鍵事件,如果它是13個關鍵代碼,我可以做一個警報。聽取輸入鍵按下文本框

這是我可以輕易使用的地方嗎?

我怎樣才能觸發按下功能在輸入文本類型

+0

是它不使用基因敲除的地方嗎? –

+0

這聽起來像你想出來的。問題是什麼?顯示你有什麼代碼,並解釋爲什麼它不像你想要的那樣工作。 –

+0

你的頭銜說「觸發」。你的描述說「聽」。哪一個是真的? –

回答

4

使用jQuery回車鍵:

$("#div").bind("keypress", function(event) { 
    if(event.which == 13) { 
    event.preventDefault(); 
     // TRIGGER YOUR FUNCTION 
    } 
}); 
+0

你誤解了這個問題。他不想觸發這個事件。他希望在事件發生時觸發他自己的功能。 –

+0

仍然誤解。他想通過Knockout.js來聽 –

8

當然可以。使用event綁定爲keypress事件添加處理程序,然後執行所需操作。你的處理程序的第二個參數是事件對象。當你檢測到輸入被按下時,你可以做任何你想要的。

<input type="text" data-bind="value: message, event: { 'keypress': keypress }"/> 
function ViewModel(data) { 
    var self = this; 
    self.message = ko.observable(data.message); 

    var KBD_ENTER = 13; 
    self.keypress = function (data, event) { 
     if (event.which == KBD_ENTER) { 
      alert('hey! you pressed enter.'); 
     } 

     // let the event propagate (if you want) 
     return true; 
    }; 
} 

Demo

相關問題