Enter入力フィールドで検出したいので、キープレスイベントを持つようにノックアウトバインディングを設定しました。
私が以下を持っている場合:
data-bind="event: { keypress: KeyPress }"
そして私のビューモデルは
this.KeyPress = function(data, event) {
console.log(event.keyCode);
}
その後、キーコードが期待どおりに表示されます。
ただし、追加のパラメーターを関数に渡したいので、 hereKeyPress
の例に従って、
data-bind="event: { keypress: function (data, event) { KeyPress('myParam', data, event); return true; } }" />
そして私の対応する関数は今
this.KeyPress = function(p, data, event) {
console.log(event.keyCode);
}
これで、keyCode
プロパティは常に 0 を返します。event
オブジェクト内で、charCode
キーを押すたびにプロパティが設定されていることがわかりますが、プロパティは設定されていませんkeyCode
(印刷できない文字はすべて 0 であるため、charCode
プロパティはあまり使用されません)。
event
オブジェクトにoriginalEvent
プロパティがあることもわかりますがkeyCode
、ここでは同じ、つまり0 です。
keyCode
それで、関数リテラルを介して伝播するプロパティを取得する方法を誰か教えてもらえますか?