gpt4 book ai didi

jquery - 无法在 jQuery 自动完成中使链接可单击

转载 作者:行者123 更新时间:2023-12-01 01:52:31 25 4
gpt4 key购买 nike

我正在重写 jQuery Autocomplete 以显示简单的链接 ( <a href=...> ") 和一些额外的格式,稍后需要变得更加复杂。

单击链接时没有任何反应。有没有办法删除拦截点击的任何事件处理程序或其他代码,以便它们按预期运行?

有几个相关问题(例如 #4536055 )有很好的答案,但它们处理默认的自动完成行为。 source答案似乎是一个黑客——链接应该像链接一样发挥作用。

我的代码:

$.widget( "custom.complete_custom", $.ui.autocomplete, {
_renderMenu: function( ul, items ) {
// Trigger a "See all" link if there are two many results
var self = this;
var too_long = false;
if (items.length > 10){
original_length = items.length;
too_long = true;
items = items.slice(0,10);
}

// Display each result as a link
$.each( items, function( index, item ) {
ul.append( "<li class='ui-autocomplete-category'><a href='/building/" + item.buildingcode + "'>" + item.buildingname + "</a></li>" );
});

// Add the "See all" link if necessary
if(too_long) {
ul.append( "<li class='ui-autocomplete-category see-all'><a href='/search/" + 'term' + "'><strong>See all " + original_length + " results</strong></a></li>" )
}
}
});


// The autocomplete activator
$( "#search" ).complete_custom({
source: "/search/json",
minLength: 2
});

最佳答案

jQuery UI 自动完成在很多地方内部使用 a 标签(查看其 JS 和 CSS),因此尝试以他们不希望的方式更改它们的行为可能会起作用不可预测。 _renderItem 函数将每个自动完成项包装在 a 标记中,因此您可以将链接放入链接中。我确信花费时间和精力这是可能的,但是当另一个答案有效并且易于实现时,这肯定是一个更好的选择?即使使用 JS 重定向而不是直接链接有点 hack 式。

关于jquery - 无法在 jQuery 自动完成中使链接可单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5613077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com