Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- this.menu = $("<ul></ul>")
- .addClass("ui-autocomplete")
- .css({ 'height': '100px', 'overflow': 'scroll', 'witdh': 'auto' })
- .appendTo($(this.options.appendTo || "body", doc)[0])
- .mousedown(function(event) {
- var menuElement = self.menu.element[0];
- if (!$(event.target).closest(".ui-menu-item").length) {
- setTimeout(function() {
- $(document).one('mousedown', function(event) {
- if (event.target !== self.element[0] &&
- event.target !== menuElement &&
- !$.ui.contains(menuElement, event.target)) {
- self.close();
- }
- });
- }, 1);
- }
- setTimeout(function() {
- clearTimeout(self.closing);
- }, 13);
- })
- .menu({
- focus: function(event, ui) {
- var item = ui.item.data("item.autocomplete");
- if (false !== self._trigger("focus", event, { item: item })) {
- if (/^key/.test(event.originalEvent.type)) {
- self.element.val(item.value);
- }
- }
- },
- selected: function(event, ui) {
- var item = ui.item.data("item.autocomplete"),
- previous = self.previous;
- if (self.element[0] !== doc.activeElement) {
- self.element.focus();
- self.previous = previous;
- setTimeout(function() {
- self.previous = previous;
- self.selectedItem = item;
- }, 1);
- }
- if (false !== self._trigger("select", event, { item: item })) {
- self.element.val(item.value);
- }
- self.term = self.element.val();
- self.close(event);
- self.selectedItem = item;
- },
- blur: function(event, ui) {
- if (self.menu.element.is(":visible") &&
- (self.element.val() !== self.term)) {
- self.element.val(self.term);
- }
- }
- })
- .zIndex(this.element.zIndex() + 1)
- .css({ top: 0, left: 0 })
- .hide()
- .data("menu");
Add Comment
Please, Sign In to add comment