开发者社区> 问答> 正文

img对象无限触发onload事件。查了很多不知道怎么办。。

 $("#fileupload").on('change', function(e) {
                        if(e.target.files || e.dataTransfer.files) {
                            var $img = $('<img>');
                            var $goods_imgs = $('.goods_imgs');
                            var $goods_img = $('<div>').addClass('goods_img');
                            
                            $img.attr("src", getObjectURL(this.files[0]));
                            $goods_img.append($img);
                            $goods_imgs.append($goods_img);
          
                            $img.on('load', function() {
                                $img.attr("src", getBase64Image($img.get(0)));
                            });
                        }
                    });
                    
                
                好像是说在src改变的时候就会触发onload事件, 但是在onload事件最后已经改变了src

展开
收起
杨冬芳 2016-06-08 14:25:55 2637 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista

    这是jquery嘛?如果是的话jquery有一个只触发一次的 one 方法,第一次load改变了img的src,但因为只触发一次,所以不会再执行。

    $img.one('load', function() {
        $img.attr("src", getBase64Image($img.get(0)));
    });
    2019-07-17 19:31:54
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载