jQuery.Deferred异常:$(...)。error不是函数,TypeError $(...)。error不是函数

时间:2019-12-16 15:35:50

标签: javascript jquery

我搜索了很多以找到答案,但是在每个页面或每个问题上,问题都出在不是Person探员不包含jQuery文件,还是他们在命名错误。 我尝试使用不同的jQuery CDN,但显然出现了相同的错误。 我什至删除了我的整个脚本,以查看是否与代码冲突。 奇怪的是,只有.error()处理函数会收到此错误。其他所有处理程序都可以正常工作。 如果我在其他元素上调用.error(),则会吐出相同的错误。

HTML:

<img class="prev_img" src="img/no_image.png" alt="Vorschau Bild" width="250px" height="160px">

JS

<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>


<script type="text/javascript"> 
    $(document).ready(function(){
        $("img").error(function(){
            console.log("Error");
        });
    });
</script>

我真的不知道问题可能是什么。我在Hope中多次重新启动了XAMPP,它使文件混乱变得有些混乱。但似乎一切正常。

很高兴能得到一些帮助。

问候

编辑:

我尝试使用

$(document).ready(function(){
        $("img").on("error", function(){
            console.log("Error");
        });
    });

但是即使在控制台中我遇到GET 404错误,错误处理程序也不做任何事情。

1 个答案:

答案 0 :(得分:4)

the documentation中,.error()在1.8中已弃用,在<3.0>中已删除

removed: 3.0

改为使用.on("error", function() { ... })

$("img").on("error", function() {
  console.log("Error");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img src="">