mirror of
https://github.com/devbridge/jQuery-Autocomplete.git
synced 2024-11-25 06:07:45 +00:00
Ignore "change" event when input value is set by plugin, fixes #669
This commit is contained in:
parent
57528dd120
commit
a7e84a4799
@ -192,7 +192,6 @@
|
|||||||
container.children('.' + selected).removeClass(selected);
|
container.children('.' + selected).removeClass(selected);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// Listen for click event on suggestions list:
|
// Listen for click event on suggestions list:
|
||||||
container.on('click.autocomplete', suggestionSelector, function () {
|
container.on('click.autocomplete', suggestionSelector, function () {
|
||||||
that.select($(this).data('index'));
|
that.select($(this).data('index'));
|
||||||
@ -457,6 +456,11 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
onValueChange: function () {
|
onValueChange: function () {
|
||||||
|
if (this.ignoreValueChange) {
|
||||||
|
this.ignoreValueChange = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var that = this,
|
var that = this,
|
||||||
options = that.options,
|
options = that.options,
|
||||||
value = that.el.val(),
|
value = that.el.val(),
|
||||||
@ -856,6 +860,7 @@
|
|||||||
if (that.selectedIndex === 0) {
|
if (that.selectedIndex === 0) {
|
||||||
$(that.suggestionsContainer).children().first().removeClass(that.classes.selected);
|
$(that.suggestionsContainer).children().first().removeClass(that.classes.selected);
|
||||||
that.selectedIndex = -1;
|
that.selectedIndex = -1;
|
||||||
|
that.ignoreValueChange = false;
|
||||||
that.el.val(that.currentValue);
|
that.el.val(that.currentValue);
|
||||||
that.findBestHint();
|
that.findBestHint();
|
||||||
return;
|
return;
|
||||||
@ -898,8 +903,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!that.options.preserveInput) {
|
if (!that.options.preserveInput) {
|
||||||
|
// During onBlur event, browser will trigger "change" event,
|
||||||
|
// because value has changed, to avoid side effect ignore,
|
||||||
|
// that event, so that correct suggestion can be selected
|
||||||
|
// when clicking on suggestion with a mouse
|
||||||
|
that.ignoreValueChange = true;
|
||||||
that.el.val(that.getValue(that.suggestions[index].value));
|
that.el.val(that.getValue(that.suggestions[index].value));
|
||||||
}
|
}
|
||||||
|
|
||||||
that.signalHint(null);
|
that.signalHint(null);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user