Kod ini sangat mudah, ia adalah untuk menjana teg input secara dinamik untuk menyedari bahawa peristiwa perubahan tidak dapat mengendalikan fail yang sama. Ia berfungsi dalam Chrome dan Firefox, tetapi pencetakan tidak boleh dicetuskan dalam pelayar IE 3. Bantuan! ! !
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();
}
Tambahkan ayat berikut sebelum
ie
下click()
不能操作文档中没有的节点,所以你可以在click()
Untuk serasi
ie9
之前用attachEvent
而不是addEventListener
。还有
ie9
之前不兼容getElementsByClassName
Kenapa
button
使用了.onclick
,后面的input
却用了.addEventListener
?Internet Explorer tradisional dan kaedah attachEventnya dijelaskan dalam dokumentasi addEventListener:
IE8 dan ke bawah tidak mempunyai kaedah addEventListener Anda boleh menggunakan kaedah attachEvent() untuk mendengar acara Sila ambil perhatian bahawa ini dalam panggilan balik attachEvent menghala ke tetingkap
Gunakan yang berikut untuk mengikat acara