javascript - IE兼容问题 动态生成的节点IE浏览器无法触发,求助

查看:77
本文介绍了javascript - IE兼容问题 动态生成的节点IE浏览器无法触发,求助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

代码很简单,就是动态生成input标签,来实现change事件无法处理相同文件。在chrome,firefox中都有效,但在ie浏览器中无法触发打印3.求助!!!

var button=document.getElementsByClassName('button')[0];
var imgBox=document.getElementsByClassName('imgBox')[0];
button.onclick=function(){
    inputImg();
}

function inputImg(){
    var input=document.createElement('input');
    input.type='file';
    input.addEventListener('change',function(e){
        console.log(3);
    });
    
    input.click();
}

解决方案

ieclick()不能操作文档中没有的节点,所以你可以在click()前添加下面的语句

document.body.appendChild( input );
input.style.display = 'none';
input.click();

要想兼容ie9之前用attachEvent而不是addEventListener
还有ie9之前不兼容getElementsByClassName

这篇关于javascript - IE兼容问题 动态生成的节点IE浏览器无法触发,求助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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