jQuery 自动完成 select 功能未触发
jQuery autocomplete select function not firing
我正在围绕 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
回调没有触发。
我盯着这个看的时间太长了...所以据我所知,这是一个愚蠢的不匹配支架之类的东西。
提前致谢!
我混淆了 select
和 focus
事件。因为我真的很笨
select
实际上在上面的代码示例中有效,但我没有触发它,因为我只是在列表中移动焦点,实际上 clicking/selecting 不是一个条目。
我真正想做的——在列表项焦点更改时使用回调——需要使用 focus
回调。
我不知道去哪里 post 这个,
它可能与 post 无关,但我想提请您注意这一点,我使用了错误版本的 jquery 自动完成,而不是 jquery ui一个,但是一个来自与 jquery ui 无关的 npm 包,所以如果你没有触发 "select" 事件,请尝试从 [=16] 下载版本=] 网站 ui.
我正在围绕 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
回调没有触发。
我盯着这个看的时间太长了...所以据我所知,这是一个愚蠢的不匹配支架之类的东西。
提前致谢!
我混淆了 select
和 focus
事件。因为我真的很笨
select
实际上在上面的代码示例中有效,但我没有触发它,因为我只是在列表中移动焦点,实际上 clicking/selecting 不是一个条目。
我真正想做的——在列表项焦点更改时使用回调——需要使用 focus
回调。
我不知道去哪里 post 这个, 它可能与 post 无关,但我想提请您注意这一点,我使用了错误版本的 jquery 自动完成,而不是 jquery ui一个,但是一个来自与 jquery ui 无关的 npm 包,所以如果你没有触发 "select" 事件,请尝试从 [=16] 下载版本=] 网站 ui.