javascript - Problème de compatibilité IE Les nœuds générés dynamiquement ne peuvent pas être déclenchés par le navigateur IE. Veuillez aider.
为情所困
为情所困 2017-06-26 10:56:54
0
4
810

Le code est très simple, il s'agit de générer dynamiquement des balises d'entrée pour se rendre compte que l'événement change ne peut pas gérer le même fichier. Cela fonctionne sous Chrome et Firefox, mais l'impression ne peut pas être déclenchée dans le navigateur IE 3. Au secours ! ! !

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(); }
为情所困
为情所困

répondre à tous (4)
为情所困

Ajoutez la phrase suivante avant

ieclick()不能操作文档中没有的节点,所以你可以在click()

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

Pour être compatibleie9之前用attachEvent而不是addEventListener
还有ie9之前不兼容getElementsByClassName

    学习ing

    Pourquoibutton使用了.onclick,后面的input却用了.addEventListener?

    L'Internet Explorer traditionnel et sa méthode attachEvent sont expliqués dans la documentation addEventListener :

    Pour Internet Explorer, avant IE 9, vous deviez utiliser attachEvent au lieu d'utiliser la méthode standard
    addEventListener.

      習慣沉默

      IE8 et versions antérieures n'ont pas la méthode addEventListener. Vous pouvez utiliser la méthode attachEvent() pour écouter les événements. Veuillez noter que cela dans le rappel attachEvent pointe vers la fenêtre

      .
        大家讲道理

        Utilisez ce qui suit pour lier l'événement

        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"); });
          Derniers téléchargements
          Plus>
          effets Web
          Code source du site Web
          Matériel du site Web
          Modèle frontal
          À propos de nous Clause de non-responsabilité Sitemap
          Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!