TypeError после обновления jQuery - PullRequest
2 голосов
/ 07 мая 2020

Я просто обновил один из своих проектов до последней версии jQuery, и он перестал работать. Я использовал jQuery v1.12.4, и он работал нормально. Эта проблема возникла после перехода на 3.5.1.

В журнале консоли написано:

TypeError: a.error is not a function

И моя затронутая часть кода:

var imageCell = $("#imageCell");

function tripDestination(t, e) {
    var n = Math.floor(0x10000000000000000 * Math.random()).toString(36);
    n = t + "my?x=" + n, imageCell.empty(), imageCell.html("<img id='myImage' style='display: none'>");
    var a = $("#myImage");
    a.error(e), a.attr("src", n)
}

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 10 мая 2020

Как сказано в документации Jquery, Этот API был удален в jQuery 3.0; используйте .on ("error", handler) вместо .error (handler) и .trigger ("error") вместо .error ().

error() больше не осталось встроенная функция для версий 3.0

Измените свой код на

var imageCell = $("#imageCell");

function tripDestination(t, e) {
    var n = Math.floor(0x10000000000000000 * Math.random()).toString(36);
    n = t + "my?x=" + n, imageCell.empty(), imageCell.html("<img id='myImage' style='display: none'>");
    var a = $("#myImage");
    a.on('error',function(e){...}), a.attr("src", n)
}
0 голосов
/ 09 мая 2020

Как упоминалось здесь api. jquery .com / error , error() устарело и должно быть заменено на .trigger("error"):

Примечание. Этот API имеет удалено в jQuery 3.0; используйте .on ("error", handler) вместо .error (handler) и .trigger ("error") вместо .error ().

0 голосов
/ 07 мая 2020

Привет, функция ошибки была удалена в jquery v 3.0, пожалуйста, проверьте следующий код:

$("#myImage" ).on("error",function() {
    alert("Handler for .error() called." );
}).attr( "src", "missing.png" );

Jquery Документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...