私は混乱しています。ウェブサイトはasp.net(aspx)、ノックアウト2.2.1、jquery 1.9.1に基づいており、入力ボックスのEnterキーをいくつかのページでボタンクリックとして機能させたいと考えていました。そのため、 enterKey ko カスタム バインディングのようなものを使用する必要があると考えましたが、ページがマスター ページによって「フォーム」でラップされている一部のページで、Enter キーが既にボタン クリック ハンドラーを呼び出していることがわかりました。
マイページ html:
<form method="post" action="myPage.aspx" id="form1">
<input type="text" data-bind="valueFiltered: amountInDollar"/>
<button data-bind="click: save, enable: canSave">Save</button>
</form>
キープレスイベントを処理して、数字キーのみを許可し、キーを入力して(trueを返すことにより)、javascriptは次のようになります。
my.save = function () { // enter key calling this function!!??
var amount = parseInt(my.amountInDollar(), 10);
post(amount.toString()); // ajax call
};
「フォーム」でラップされていないページでは、enterKey バインディングを使用して、Enter キーを機能させる必要がありました。
誰が何が起こっているのか説明できますか?