jQuery自动完成选择功能未触发

宏创电子

我正在编写有关jQuery自动完成功能的可重用包装器,由于某种原因,我无法使select回调工作。

给定下面的代码,绝不会调用select()函数。我搞砸了什么?select使用jQuery自动完成小部件指定回调时,是否存在一些隐藏的约束

注意:这只是写的一半。只是想去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不触发回调。

我一直盯着这种方式太久了...所以就我所知,这是一个愚蠢的不匹配的支撑或其他东西。

提前致谢!

宏创电子

我将selectfocus事件混为一谈因为我真的很傻。

select 确实可以在上面的代码示例中运行,但是我没有触发它,因为我只是在列表中移动焦点,而不是实际单击/选择条目。

我实际上想做的是-在列表项焦点更改时使用focus回调-需要改为使用回调。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章