我正在围绕jQuery自动完成编写可重复使用的包装器,由于某种原因,我无法使select
回调起作用。
给出下面的代码,绝不会调用select()函数。我搞砸了什么?使用jQuery自动完成小部件指定select
回调时,是否存在一些隐藏的约束?
注意:这只是半写的。只是想让select
工作。
// Note: 'input' is a jQuery object.
name.space.ThingSuggest = function(input) {
this.input = input;
// Set up an autocomplete widget on the given input form.
this.input.autocomplete({
source: name.space.ThingSuggest.SOURCE_URL,
delay: 500,
select: this.select.bind(this)
});
this.input.autocomplete('instance')._renderItem = name.space.ThingSuggest.renderItem;
};
name.space.ThingSuggest.SOURCE_URL = // some URL
name.space.ThingSuggest.prototype.select = function(event, ui) {
this.input.val(ui.item.label);
return false;
};
name.space.ThingSuggest.renderItem = function(ul, item) {
return $('<li>', { value: item.value })
.append(item.label + ' <span>@' + item.username + '</span>')
.appendTo(ul);
};
要清除],自动补全和_renderItem
正常工作。仅触发suggest
回调。
我一直盯着这种方式太久了...所以就我所知,这是一个愚蠢的不匹配的花括号之类的东西。
提前感谢!
我正在围绕jQuery自动完成编写可重复使用的包装器,由于某种原因,我无法使select回调起作用。给定下面的代码,绝不会调用select()函数。我有什么...
我混合了select
和focus
事件。因为我真的很傻。
我不知道该在哪里发布,它可能与帖子无关,但是我想引起您的注意,我使用的是错误版本的jquery autocomplete,不是jquery ui,而是npm软件包中与jquery ui无关的版本,因此,如果您没有触发“ select”事件,请尝试从jquery网站ui下载版本。