環境
jQuery: 3.6.0
jQuery UI: 1.13.2
問題
jQuery UIで以下のエラーが発生して_renderItemに失敗する。
Uncaught TypeError: Cannot set properties of undefined (setting '_renderItem')
原因
(私の場合は) _renderItem に紐づく要素が存在しない場合にエラーが発生していた。
※ 原因は様々あると思います。海外の記事では書き方のバージョンが古いから新しくしろという書き込みも有り。
対策
先頭行に「$(window).on(‘load’, function () { 」を追加して、ウィンドウが描画されてから実行するように変更
$(window).on('load', function () {
if ($('.youso_name').length) {
$(".youso_name").autocomplete({
...
}).data("ui-autocomplete")._renderItem = function (ul, item) {
...
})
}
})
誰かの参考になれば幸いです。
コメント