我创建了一个小型AutoComplete对象,并将我的结果列为li
元素列表。我有一个this.on('input', function () {});
事件,当您在列表中选择一个项目并处理正常时会处理该事件。现在我想添加一个blur
事件来隐藏结果。添加blur
事件会导致input
事件停止工作。
$.fn.autoComplete = function () {
this.on('input', function () {
AutoComplete(self.val());
});
this.on('blur', function () {
$('#' + settings.resultsDivId).hide();
});
function AutoComplete(term) {
// ajax call
});
};
答案 0 :(得分:1)
这在以下JSFiddle中有效 - 看起来你的自动完成功能后出现错误(它以“)结束;”):https://jsfiddle.net/ek5v59t6/
$(function() {
$('input').autoComplete();
});
$.fn.autoComplete = function () {
this.on('input', function () {
console.log('input fired');
AutoComplete($(this).val());
});
this.on('blur', function () {
console.log('blur fired');
$('#results').hide();
});
function AutoComplete(term) {
$('#results').show();
}
};