诸如搜索/选择之类的自动完成事件正在触发诸如“Home”、“End”、“Shift”之类的键盘键。
我在演示网站上看到这些没有触发示例 例如:http: //jqueryui.com/demos/autocomplete/remote.html
请让我知道如何阻止某些键盘事件的搜索/选择事件。
我认为这是默认行为,但在我的情况下不起作用。
诸如搜索/选择之类的自动完成事件正在触发诸如“Home”、“End”、“Shift”之类的键盘键。
我在演示网站上看到这些没有触发示例 例如:http: //jqueryui.com/demos/autocomplete/remote.html
请让我知道如何阻止某些键盘事件的搜索/选择事件。
我认为这是默认行为,但在我的情况下不起作用。
我不确定为什么这些事件会为您触发但不是在演示中,也许检查您的 jquery UI 版本?
为了阻止某些键的这些事件,您可以返回 false。
$( ".selector" ).autocomplete({
search: function(event, ui) {
if(event.keyCode === 36) {
// HOME key pressed
return false;
}
}
});
请参阅此处的“事件”选项卡以获取更多信息
你可以试试这个;
$( "#selectorid" ).autocomplete({
search: function(event, ui) {
$.lastText = $('#selectorid').val();
}
});
$('#selectorid').keypress(function (e) {
if ($(this).val() == $.lastText) return;
});
您可以将最后一个文本保存到 var 中,并在触发事件时检查文本是否已更改。
$( ".selector" ).autocomplete({
search: function(event, ui) {
if($('.selector').val() === lastText) {
return false;
}
// do what do you want
lastText = $('.selector').val();
}
});