【发布时间】:2025-11-23 08:40:01
【问题描述】:
输入自动完成,你按'enter'键,我会搜索一些东西。但是当你有自动完成并按'enter'时,我不想搜索,实际上当你按'enter'时它会搜索,因为它会捕获回车事件并执行搜索功能。
这是第一个功能:自动完成代码:
$('input[name=fieldInputName]').autocomplete(names, {
max: max,
minChars: minChars ,
width: 149,
scrollHeight: 500,
matchContains: true,
autoFill: false,
sortable: true,
matchSubset :false,
formatItem: function(row, i, max) {
return row[returnSearchkey];
},
formatMatch: function(row, i, max) {
return row[returnSearchkey] ;
},
formatResult: function(row) {
return row[returnSearchkey];
}
}).result(function(event, row, formatted) {
});
这是第二个功能:进行搜索的 pressenter 代码:
function pressEnter(e){
e = e || event;
if (e.keyCode == 13) {
submitSearch()();
}
}
输入的Html:
<input onkeyup="pressEnter(event);"type='text' name='createdBy' />
当您触发自动完成并通过按“输入”选择一项时,它将执行自动完成并填充所选值,但它也会调用第二个函数“pressEnter(e)”。实际上我想当您触发自动完成但不执行第二个功能时按回车(按回车)。
【问题讨论】:
-
我很难理解你想要做什么,请从代码中删除不相关的部分并将代码的两个部分设置在一个上下文中。示例中没有调用第二个函数。请用简短的句子描述此示例的单个步骤,例如“用户在输入字段中输入字符”
-
第二个函数: 按下回车就会触发。但是如果你触发了自动完成,选择项目并回车,它会触发第二个功能。实际上,我不想执行第二个功能。
标签: javascript input autocomplete enter