以下のようなメッセージを送信する onkeypress イベントを含む html テキスト ボックスがあります。
<input type="text" data-bind="attr:{id: 'txtDim' + $data.userID, onkeypress: $root.sendMsg('#txtDim' + $data.userID, $data)}" />
以下のように入力ボタンを押しながらメッセージを送信するためのJavaScript関数を作成しました。
self.sendMsg = function (id, data) {
$(id).keydown(function (e) {
if (e.which == 13) {
//method called to send message
//self.SendDIM(data);
}
});
};
私の場合、メッセージを送信するにはEnterボタンを2回押す必要があります。1: keypress call self.sendMsg 2: keypress call self.SendDIM
しかし、キーを 1 回押すだけでメッセージを送信する必要があります。プレーンな JavaScript でのみ実行できます。しかし、ビューモデル データが必要なため、データ バインドに適用されます。だからうまくいきません。