我使用以下代码成功地在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
。唯一打开链接的方法是单击中间滚轮或右键并选择“在新标签页中打开”。我尝试在链接上附加一个click事件处理程序,并使用event.stopImmediatePropagation(),但似乎不起作用。有没有人知道如何解决这个问题?