您可以請看看This Demo,讓我知道如何啓用從自動完成滾動到所選項目的div?添加滾動功能與UI自動完成
$(document).ready(function() {
$('#tags').on('change', function() {
$('#tagsname').html('You selected: ' + this.value);
$('html,body').animate({
scrollTop: $("#"+ this.value).offset().top
});
}).change();
$('#tags').on('autocompleteselect', function (e, ui) {
$('#tagsname').html('You selected: ' + ui.item.value);
});
});
但我得到這個錯誤
Uncaught TypeError: Cannot read property 'top' of undefined
你是什麼意思'更改'不存在? OP將其應用於文本框而非選擇。如果它不存在,它不會觸發,因此OP不會得到錯誤。 – rism
JavaScript編譯器在執行之前檢查所有代碼,分配變量並在執行前檢查變量或變量屬性是否存在。另一方面,'change'事件必須被初始化才能被觸發,這就是爲什麼你必須在'autocomplete'初始化中添加一個回調函數。這是一個可觀察的模式。 http://api.jqueryui.com/autocomplete/#event-change –
不,事件會由於OP調用它而觸發。 '.change();' – rism