我在表格标签内有自动完成的输入控件,如下所示:
<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键。 我的问题是当我按下回车键,页面再次重新加载。按Enter键时如何防止页面重新加载。
*编辑:*要禁用回车键,我添加了一个如下功能:
self.DisablePostBack = function (e) {
if (e.which == 13) {
return false;
}
};
并在该文本框的按键上调用它。但是在键不起作用之后。
答案 0 :(得分:0)
尝试使用以下内容:
if((e.keyCode == 13) {// do something;
return false;}
e.keyCode == 13 将帮助您检查是否按下了Enter,然后您可以执行一些您的代码,之后您必须返回false以防止浏览器发送数据< / p>
答案 1 :(得分:0)
我已经用按键事件替换了模糊事件,并检查是否按下了回车键:
.keypress(function (e) {
if (e.which == 13) {
//write code
}
});
现在它的工作没有页面重新加载。我已经用按键替换了模糊,因为在输入按下铬键的键时没有调用模糊。
感谢所有有用的建议。