程式碼很簡單,就是動態產生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(); }
ie
下click()
不能操作文件中沒有的節點,所以你可以在click()
前加入下面的語句要想相容
ie9
之前用attachEvent
而不是addEventListener
。還有
ie9
之前不相容getElementsByClassName
為什麼
button
使用了.onclick
,後面的input
卻用了.addEventListener
呢?在 addEventListener 文件的 傳統的 Internet Explorer 及其 attachEvent 方法 有說明:
IE8以下沒有addEventListener方法 可用attachEvent()方法監聽事件 要注意attachEvent回呼中的this指向的是window哦
用下面這個來綁定事件