大牛在哪里???关于动态生成<input type="file">的问题。
本人动态生成语句如下;
var input_file=document.createElement('input');
input_file.setAttribute('type','file');
input_file.setAttribute('name','pictures[]');
if(window.addEventListener)
{
input_file.addEventListener('change',PreviewImage);
}
else
{
input_file.attachEvent('onchange',PreviewImage)
}
function PreviewImage()
{
this.value;//函数里面调用这句,在chrome,FF中有效,在IE中却无效,该怎么解决这个兼容问题
}
还有额外问问:addEventListener('change',函数名) 如果该函数带参数,又该怎么办呢?
[解决办法]
应该是低版本的IE无效吧?
低版本的IE,这个时候,this是等于window的,IE9+的应该是可以的。
function PreviewImage(e){
e = e
[解决办法]
window.event;//获取事件
var target = e.srcElement
[解决办法]
e.target;//获取目标元素
var tagName = target.tagName.toLowerCase();//获取目标元素的标签名,并变成小写
if(tagName == "input"){
//判断是否为input标签。如果是则执行
alert(target.value);//获取input的value值。
}
}
function PreviewImage(e){
function aa(x,y){
e = e
[解决办法]
window.event;//获取事件
var target = e.srcElement
[解决办法]
e.target;//获取目标元素
var tagName = target.tagName.toLowerCase();//获取目标元素的标签名,并变成小写
if(tagName == "input"){
//判断是否为input标签。如果是则执行
alert(target.value);//获取input的value值。
}
}
aa(x,y);
}