本帖最后由 shenletongxue 于 2014-06-24 12:01:31 编辑

解决方案 »

  1.   

    你这只是挂载事件 。
     img.onerror =go();这样会执行函数 ,吧函数的返回值 挂载到方法上。
     function go() {
                alert("11111");
             };或者
    img.error = function go() {
                alert("11111");
             };
      

  2.   

    onerroron---当xxxx得时候在你得for里面
    你只是 设置  当xxxx得时候 ‘做什么’
    ‘做什么’ 要到 实际 xxxx得时候才会做
      

  3.   

    w3cshool  上写道:    onerror 事件捕获网页中的错误。(chrome、opera、safari 浏览器不支持) 。先确定是不是浏览器引起的。
      

  4.   

    var urls = [ 'http://loveplus.me/wp-content/uploads/2013/10/hongxing.jpg',  'A',  'B']; 
    function filter(urls) {
      var len = urls.length - 1;
      for (var i = 0; i <len; i++) {
            var img = document.createElement('img');
            img.src = urls[i];
     
            img.setAttribute('onerror ',"imgLoadError()");
       } 
    } function imgLoadError(){
          alert("11111");
    }filter(urls);
      

  5.   


    但是img.src = urls[i];的时候不是已经出错了吗,为什么不执行onerror呢?
      

  6.   

    由于浏览器缓冲区的关系
    和 img 的 onload 事件一样,onerror 事件只会被触发一次
    你可以尝试在 url 后面加上随机数
    mg.src = urls[i] + '?' + Math.random()
      

  7.   


    但是img.src = urls[i];的时候不是已经出错了吗,为什么不执行onerror呢?
    运行次序问题
    你设置了
    xxxx.onerror
    但是在设置的这个for的运行序列里面 并没有触发 任何事件
    *************
    想象一个场景
    你是老板
    你给员工分配工作
    然后确认
    如果工作ok就 ‘加薪’
    如果工作不ok就 ‘辞退’你在分配工作的时候 员工并不会被怎么怎么只有到真正确认的时候 才会  怎么怎么不然你在分配工作的时候 员工就 '加薪' 或 '辞退'吗?肯定不是
    要员工开始做了之后才会 触发你的 工作确认
    你的整个for 就是一个工作分配 和工作确认
      

  8.   

    循环中每次都对 img 重新赋值,创建的图片元素也没有加载到页面中。
    本来这样只有最后一次创建的图片元素可以保留,但是img是局部变量,出了filter函数最后一次创建的图片元素还是会被浏览器回收销毁图片元素回收销毁了,自然不会触发事件了
      

  9.   

    正确应该是这样的:<script type="text/javascript">
        var urls = [ 'http://loveplus.me/wp-content/uploads/2013/10/hongxing.jpg',  'A',  'B'];
        for (var i = urls.length; i--;) {
            var img = new Image();
            img.onerror = function () {
                alert("11111");
            };
            img.src = urls[i];
        }
    </script>
    有说chrome、opera、safari不支持onerror吗?
      

  10.   

    请问 var img = new Image();执行了之后就立即可以判断img src是否有效吗?为什么呢