亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:190日期: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
相關文章:
主站蜘蛛池模板: 免费国产好深啊好涨好硬视频 | 精品国产福利在线观看91啪 | 午夜网站在线观看 | 亚洲黄色a级片 | 春色影院 | 久草加勒比 | 亚洲精品欧美精品日韩精品 | 国产免费久久 | 日本护士69xxxx免费 | 日韩大片在线观看 | 欧美一级在线观看视频 | 国产草草影院ccyycom软件 | 最新亚洲手机在线人成网站 | 黄色在线免费 | 韩国毛片免费看 | 91短视频在线高清hd | 多男一女一级淫片免费播放口 | 国产精品va在线观看无 | 免费黄色欧美视频 | 国产精品高清在线观看 | 看欧美黄色大片 | 美女免费视频网站 | 一级做a爰性色毛片免费 | 亚洲aⅴ久久久噜噜噜噜 | 成人免费视频网址 | 国产一级做a爱片久久毛片a | 国产精品午夜国产小视频 | 国产成人精品一区二区视频 | 国产一级片视频 | 成人美女黄网站视频大全 | 免费看三级全黄 | 立即播放免费毛片一级 | 午夜精品视频在线观看 | 国产成人精品视频播放 | 国产午夜在线观看视频播放 | 日本久久久久久久中文字幕 | 久久久999久久久精品 | 国产精品免费播放 | 国产精品视频一区二区三区w | 亚洲免费在线观看视频 | 伊人久久丁香色婷婷啪啪 |