以下のようなフォームタグ内のオートコンプリートの入力コントロールがあります。
<input type="text" class="tags" data-bind="value: selectedMember(), event: { keypress: $root.DisablePostBack}" />
以下のように力を選択するためのぼかしイベントを追加しました。
$(function () {
$('.tags').autocomplete({
//make ajax call to get all mentored member of logged member
source: function (request, response) {
$.ajax({
});
},
minlength: 0,
focus: function () {
// prevent value inserted on focus
return false;
},
select: function (event, ui) {
self.selectedMember(this.value);
return false;
}
}).blur(
function () {
var terms = split(this.value);
self.selectedMember(terms);
return false;
}
);
オートコンプリートからメンバーを選択してEnterキーを押す代わりに、ユーザーが名前を入力すると、blurイベントが呼び出されます。私の問題は、Enterキーを押すと、ページが再びリロードされることです。Enterキーを押したときにページが再読み込みされないようにする方法。
*編集:*エンターキーを無効にするために、以下のような機能を1つ追加しました。
self.DisablePostBack = function (e) {
if (e.which == 13) {
return false;
}
};
そして、そのテキストボックスのキーを押すとそれを呼び出しましたが、その後はキーが機能しなくなります。