jquery ui autocomplete _renderItem 似乎干扰 select 事件

2023-11-22

如果我使用 _renderItem,我的选择事件将不起作用。如果我注释掉调用 _renderItem 的最后一个代码块,则 select 事件将起作用。当我使用 _renderItem 时,选择事件根本不会触发。

var cache = {}, lastXhr; 

$("#hifind-find").autocomplete({
  source: function(request, response) {

    var term = request.term; 
    if (term in cache) {
      response(cache[term]);
      return;
    }

    var posturl = '/hifind/jquery_ui/autocomplete/'+term; 
    lastXhr = $.post(posturl, function(data, status, xhr) {
      cache[term] = data; 
      if (xhr === lastXhr) {
        response(data); 
      } 
    }, 'json');
  },
  delay: 300,
  minLength: 1,
  select: function(event, ui){
    window.location = ui.item.dest;
  }
});

$.ui.autocomplete.prototype._renderItem = function(ul, item) {
  return $("<li></li>")
    .data("item.autocomplete", item)
    .append('<img src="' + iconImgPath + item.flag + '-search.png" class="icon-autocomplete-bundle">' + item.label )
    .appendTo( ul );
};

如果我做类似的事情,我会得到相同的结果......

$("#hifind-find").autocomplete(myConfig).data("autocomplete")._renderItem = renderItemFunction;

无论哪种方式,选择都不会触发。 _renderItem 做了它应该做的事情。它修改了项目并且没有错误,但似乎破坏了选择。


I believe这是因为您没有将项目包裹在锚点中(a) 标签。更新您的代码以包装img在锚点中,它会正常工作:

$.ui.autocomplete.prototype._renderItem = function(ul, item) {
  return $("<li></li>")
    .data("item.autocomplete", item)
    .append('<a><img src="' + iconImgPath + item.flag + '-search.png" class="icon-autocomplete-bundle">' + item.label + '</a>')
    .appendTo( ul );
};

以下是一些可能有帮助的示例:

  • 不包括的示例a生成的标记中的标记_renderItem (select就像你的问题一样在这里被破坏了):http://jsfiddle.net/MaLqe/

  • Example with an a生成的标记中的标记:http://jsfiddle.net/3zSMG/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jquery ui autocomplete _renderItem 似乎干扰 select 事件 的相关文章

  • jquery mousewheel:检测轮子何时停止?

    我正在使用 Jquery鼠标滚轮 http plugins jquery com project mousewheel插件 我希望能够检测用户何时完成使用轮子 与可拖动内容中的 stop 事件类似的功能 有人能指出我正确的方向吗 这里真的没
  • Spring MVC @RequestBody 不适用于 jquery ajax?

    这是我的ajax请求 var dataModel name1 value1 name2 value2 ajax url testURL type POST async false contentType application json d
  • jQuery find() 只返回第一个匹配的结果?

    我在 jQuery 中使用 find 方法 但无法获得与选择器条件匹配的所有结果 这是我的 HTML div class something div
  • 将 jQuery 数组字符串转换为 PHP 数组

    首先 我得说我对 PHP 还很陌生 我正在尝试获取一个可以使用 foreach 的 PHP 对象 以下字符串通过 ajax 传递 我正在尝试转动以下字符串 menu title TEST1 href title TEST2 href QWE
  • 更新 Parse.com 中的一行

    我所拥有的是 当单击编辑按钮时 两个输入字段中的值将创建一个新行 并删除旧行 下面是我使用的代码 但我想要的是更新原始行而不是删除原始行 实例 http jsbin com uyonek 2使用下面的代码是如何工作的 editBtn onc
  • jQuery - 单击父元素(而不是父元素)时淡出?

    我的页面上有以下代码 我想做的是 当用户在 loginBox 外部单击时 我希望整个 loginOverlay 淡出 但如果不通过点击 loginBox 触发淡出 我就无法实现这种效果 它位于页面底部 页面上有一个触发淡入淡出的链接 但现在
  • 文本区域值高度[重复]

    这个问题在这里已经有答案了 我有一个 textarea 其 css 高度设置为 85px 用户可能会在该文本区域内键入内容行 我想知道文本 值的高度 而不是文本区域本身 有没有办法检查内部文本的高度 包括换行符 我会将文本区域的内容复制到另
  • $.parseJSON() 在有效对象上返回 null

    jsfiddle 链接 http jsfiddle net YmUmp 1 var x Item1 1 Item2 Item3 3 alert JSON stringify x undefined 2 alert parseJSON x 第
  • 调整大小后获取实际图像大小

    我有一个充满缩略图的页面 用 css 调整大小150x150 当我单击缩略图时 页面变暗 并且图像以其真实尺寸显示 目前 我必须手动创建一个包含所有图像的实际高度的数组 为了解决设计问题 减少画廊的手动操作 我需要在调整图像大小 CSS 后
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • jQuery 自动完成 - xml 跨站点请求

    我的自动完成功能的 XML 提要位于另一台服务器上 是否有客户端 javascript 方法来获取此 XML 文档 我知道我可以使用 php jsp 等创建代理 但我需要在所有客户端完成此操作 这就是我现在调用该文件的方式 该文件仅在同一域
  • 使用 jQuery UI 图标

    jQuery UI 在精灵图像中提供了方便的图标 看到主题滚轮 http jqueryui com themeroller 我有一个input我想要时钟图标的元素 带有类 ui icon clock 作为背景图像 怎样才能有一个背景图标in
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 是否有 IE 渲染完成事件?

    在尝试确定页面加载时间为 20 秒的原因时 我发现 IE8 中有一些奇怪的行为 场景是这样的 我进行 ajax 调用 它返回并且回调看起来像这样 StoreDetailsContainer html tableHtml var StoreD
  • 如何在 jQuery 中选择时对 DOM 元素进行排序?

    我的页面上有以下 DIV div Div 3 div div Div 2 div div Div 1 div div Div 6 div div Div 5 div div Div 4 div 我正在尝试使用 jQuery 代码选择 Div
  • 在窗口调整大小和窗口加载时动态调整 pixi 舞台及其内容的大小

    我正在尝试在窗口调整大小时动态调整 pixi 舞台 画布和内容 的大小 并且最初以浏览器窗口的大小加载 而不改变比例 我使用以下内容将初始大小基本上设置为window innerWidth window innerHeight 但它做了一些
  • JavaScript 点击事件在 Android 4.0.4 默认浏览器上的 Samsung Galaxy SIII 上不起作用

    我在 Android 4 0 4 上使用 Samsung Galaxy SIII 的默认浏览器时遇到了最奇怪的问题 对于以下页面 单击链接将不会触发 JavaScript 处理程序 从其中一个 div 的内容中删除单个 a 字母使它们再次工
  • jQuery可排序发布数据,但没有数据

    谁能告诉我我在这里缺少什么 我的数据似乎总是空的 我做错了什么 document ready function nav sortable connectWith nav axis y update function event ui var
  • 查看元素的所有 dom 事件

    我有一个 jQuery UI 日期选择器 当您单击日期时 它会清除我的 URL 哈希值 并且不会更改文本框中的日期 我假设某个地方还有其他一些 JavaScript 实用程序 它也正在调用某种委托事件 抛出错误并终止 jquery 处理程序

随机推荐