Knockout.js フォーム入力中に Enter キーでファンクション実行
検索ボックスなどで、入力中に Enter キーで検索を実行したいけど、submitではやりたくない場合などに。
<input type="text" placeholder="検索ワード" data-bind="textInput: query, event: {keypress: search}">
inputのdata-bindにtextInputを使うのがポイント。valueでのバインドだと一回目空で渡ってしまう。
function AppViewModel() { var self = this; self.search = function(d,e){ // enterキーを拾う if (e.keyCode === 13) { // 何か処理 } return true; }; } ko.applyBindings(new AppViewModel());