【发布时间】:2015-08-23 23:28:56
【问题描述】:
我设法使用以下代码在 jQuery 自动完成项的右侧添加了一个链接:
function onClientSelect(event, ui) {
// My handling code goes here
event.preventDefault();
}
$("#mypage input[name='client']").autocomplete({
minLength: 1,
appendTo: $(this).parent(),
source: '/filter_client/',
select: onClientSelect,
focus: function (event, ui) {
event.preventDefault();
},
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
我的服务器以这种格式返回元素标签:
<div class="ac-item-lb">My Item Label</div>
<a class="ac-item-a" href="/url_to_go_to/" target="_blank">View Detail</a>
我想要做的是在单击“查看详细信息”时在新选项卡中打开链接,单击任何其他区域都会像往常一样执行 onClientSelect。但是,当前左键单击链接也会执行onClientSelect。打开链接的唯一方法是单击中间滚轮或鼠标右键并选择“在新选项卡中打开”。
我尝试在带有 event.stopImmediatePropagation() 的链接上附加一个单击事件处理程序,但这似乎不起作用。有谁知道如何解决这个问题?
【问题讨论】:
-
没人知道这个???
-
你是在使用jQuery自动完成还是其他一些自动完成插件
-
你能提供一个使用数组而不是服务器响应的小提琴吗?
标签: javascript jquery autocomplete click