亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - IE兼容問題 動態生成的節點IE瀏覽器無法觸發,求助

瀏覽:198日期:2023-05-19 09:26:00

問題描述

代碼很簡單,就是動態生成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();}

問題解答

回答1:

ie下click()不能操作文檔中沒有的節點,所以你可以在click()前添加下面的語句

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

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

回答2:

為什么 button 使用了 .onclick,后面的 input 卻用了 .addEventListener 呢?

在 addEventListener 文檔的 傳統的 Internet Explorer 及其 attachEvent 方法 有說明:

對于 Internet Explorer 來說,在IE 9之前,你必須使用 attachEvent 而不是使用標準方法addEventListener。

回答3:

IE8及以下沒有addEventListener方法 可用attachEvent()方法監聽事件 要注意attachEvent回調中的this指向的是window哦

回答4:

用下面這個來綁定事件

var addEvent = function(elem, type, handler){ if(window.addEventListener){addEvent = function(elem, type, handler){ elem.addEventListener(type, handler, false);}; }else if(window.attachEvent){addEvent = function(elem, type, handler){ elem.attachEvent(’on’ + type, handler);}; } addEvent(elem, type, handler);};addEvent(input, 'change', function(e){ alert('changed');});

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久亚洲精品tv | 男人天堂avav | 久爱免费观看在线网站 | 亚洲免费高清 | 国产下药迷倒白嫩丰满美女j8 | 在线看a级片| 日韩一及片 | 国产一区亚洲一区 | 欧美99 | 97capcom超频在线 | 一级毛片不卡免费看老司机 | 国产成人精品三区 | 很黄很色的免费视频 | 真实偷清晰对白在线视频 | 亚洲一区二区三区一品精 | 精品国产日韩久久亚洲 | 狠狠色狠狠色狠狠五月ady | 国产网红自拍 | 91精品国产欧美一区二区 | 性做爰片免费视频毛片中文i | 精品国产三级a∨在线观看 精品国产三级a在线观看 | 成人久久久观看免费毛片 | 久久久精品一区 | 久热中文字幕在线精品免费 | 国产精品视_精品国产免费 国产精品视频久 | 亚洲国产91 | 中文字幕天堂久久精品 | 欧美一区二区三区在线观看 | 黄色毛片播放 | 免费毛片a| 国产日韩久久 | 精品国产91久久久久久久a | 成人一区二区免费中文字幕 | 亚洲高清无在码在线无弹窗 | 国产精品三级在线播放 | 国产精品一区久久 | 色综合精品久久久久久久 | 欧洲freexxxx性 | 午夜两性视频免费看 | 国产真实乱子伦xxxxchina | 欧美一区二区三区精品影视 |