升级jQuery后出现TypeError

时间:2020-05-06 22:48:30

标签: javascript jquery

我只是将我的项目之一升级到最新的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 个答案:

答案 0 :(得分:1)

正如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)
}

答案 1 :(得分:-1)

如此处api.jquery.com/error所述,<textarea id="texto" rows="3" cols="50"></textarea> <button onclick="getTextArea()">Get Text</button>已过时,应替换为error()

注意:此API已在jQuery 3.0中删除;请使用.on( “ error”,handler)而不是.error(handler)和.trigger(“ error” ),而不是.error()。

答案 2 :(得分:-3)

您好,错误功能已在jquery v 3.0中删除,请测试以下代码:

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

Jquery Documentation