我已经将我的 Knockout 绑定设置为有一个按键事件,因为我希望在输入字段上检测 Enter 键事件。它仅在某些时候工作正常,而不是在所有时候。
代码:
<input name="" id="txtSearch" placeholder="" value="" type="search" data-bind="event: { keypress: $root.SendMsg }" />
视图模型:
self.SendMsg = function (data, event) {
try {
if (event.which == 13) {
var SearchText = $("#txtSearch").val();
$(".divLoading").show();
$.ajax({
url: 'http://localhost/api/contacts/search',
type: 'GET',
dataType: 'jsonp',
data: { Text: SearchText },
context: this,
success: function (result) {
self.Contacts(result);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$(".divLoading").hide();
alert(errorThrown);
},
complete: function () {
$('#ListSearch').listview('refresh');
}
});
return false;
}
return true;
}
catch (e)
{
alert(e);
}
}
};
数据成功来自 api,但文本输入有时有效,有时无效。如果我们刷新页面,那么它工作正常。我不知道为什么。请朋友帮帮我