JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/themes/base/jquery-ui.css">
<input id="input_field" />
JavaScript
// apply autocomplete widget
$("#input_field").autocomplete({
source: ["Clojure", "Java", "JavaScript", "JJJ"],
});
// custom close method
(function(){
var instance = $("#input_field").data('autocomplete');
var origClose = instance.close, mouseFlag;
// capture
instance.menu.element.on('mousedown', function() {
mouseFlag = true;
});
instance.close = function(e) {
if(!mouseFlag) {
// call original method if drop isn't closed by mouse
origClose.apply(this, arguments);
} else {
// clean flag in setTimeout to avoid async events
setTimeout(function(){
mouseFlag = false;
},1);
}
}
}());