Я перезаписываю 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
});