エラー「Uncaught TypeError: Cannot set properties of undefined (setting ‘_renderItem’)」

環境

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) {
        ...
        })
    }
})

誰かの参考になれば幸いです。

コメント

タイトルとURLをコピーしました