zwqstudenting 2017-08-11 05:22 采纳率: 0%
浏览 4224

动态添加的input file change事件不生效?

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            margin:0;
            padding:0;
        }
        .img{
            width:100px;
            height:100px;
            border:1px solid blue;
        }
        .big{
            border:1px solid red;
        }
        img{
            width:100px;
            height:100px;
        }
    </style>
</head>
<body>
    <div class="big">
        <div class="wrap">
            <input type="file">
            <div class="img"></div>     
        </div>

    </div>
    <script src="jquery/dist/jquery.min.js"></script>
    <script>
        $('input').on('change',function(){
            var str='';
            str+='<input type="file"/>';
            str+='<div class="img"></div>';
            $('.big').append(str);
            var file=this.files[0];
            console.log($(this).parent().children('.img'));
            readFile(file,$(this).parent().children('.img'));
        })
        function readFile(file,element){
                //        新建阅读器
                var reader = new FileReader();
                //        根据文件类型选择阅读方式
                    switch (file.type){
                        case 'image/jpg':
                        case 'image/png':
                        case 'image/jpeg':
                        case 'image/gif':
                        // FileReader对象的readAsDataURL方法可以将读取到的文件编码成Data URL
                        reader.readAsDataURL(file);
                        break;
                    }
                //        当文件阅读结束后执行的方法
                    reader.addEventListener('load',function () {
                //         如果说让读取的文件显示的话 还是需要通过文件的类型创建不同的标签
                        switch (file.type){
                            case 'image/jpg':
                            case 'image/png':
                            case 'image/jpeg':
                            case 'image/gif':
                            var img = document.createElement('img');
                            img.src = reader.result;
                            // element.append(img);
                            element.append(img);
                            element.show();
                            break;
                        }
                });
        }
    </script>
</body>
</html>

html中的input file change 执行,但是动态添加的input change不执行

  • 写回答

6条回答 默认 最新

  • 呓语的风 2017-08-11 05:41
    关注

    str+='';
    改成
    str+='';

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘