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

查看:149
本文介绍了javascript - 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。
             

解决方案

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

$img.one('load', function() {
    $img.attr("src", getBase64Image($img.get(0)));
});

这篇关于javascript - img对象无限触发onload事件。查了很多不知道怎么办。。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆