• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IE8 eine Alternative für EventListener

Chronos

Aktives Mitglied
Hallo Forum,

ich habe bereits durch Recherche herausgefunden,
dass der Internet Explorer 8 EventListener in der üblichen Form nicht beherrscht.

Ich möchte nämlich anstatt eines Events wie "onclick();" EventListener einsetzen.
Alle neuen Browser können das, so wie ich das in folgenden Code einsetze fehlerfrei:

HTML:
<a href="#" id="zero" class="button" >Show</a>

Code:
// Meine Funktion die ich aufrufen möchte:
function showlist() {
  document.getElementById('itemlist').style.display='block'; 
  document.getElementById('tip').style.left = '53.7%';
  document.getElementById('tip').innerHTML = 'Zu druckende Etiketten eingeben'; 
}

// EventListener IDs zuordnen
function load() {
  document.getElementById("zero").addEventListener("click", showlist, false);
}
 
document.addEventListener("DOMContentLoaded", load, false);

Das funktioniert auch in allen neuen Browsern. Der IE8 unterstützt ja nur diese Kurzform und daher habe ich folgendes probiert:

Code:
// EventListener IDs zuordnen
function load() {
  var element = document.getElementById('zero');
  if (document.addEventListener){
      element .addEventListener('click', showlist, false); 
  } else if (el.attachEvent){
      element .attachEvent('onclick', showlist);
  }
  
}
document.attachEvent("DOMContentLoaded", onload);

Also immer noch ein "on" davor. Nichtsdestotrotz funktioniert es so mit dem IE8 nicht.
Ich hoffe jemand hat sich schon mal die Mühe gemacht das im IE8 zum laufen zu bringen und kann mir weiterhelfen.
Ich möchte aber wenn es geht auf jQuery verzichten. Thx schon mal.
 
Ich bin mal ganz frech und push das hier.

Ich habe immer mal noch gesucht und Sachen ausprobiert aber bin noch zu keinem Ergebnis gekommen.
Ich würde auch jQuery nutzen klar - aber damit kenn ich mich noch weniger aus als mit puren JavaScript.
Irgendwer, wenn es nur ne Kleinigkeit ist und mit dem IE8 mal gearbeit hat - einfach Bescheid sagen ;)
 
Etwas in der Form?

HTML:
$(document).ready(function() {
    $('#zero').bind('click', function() {
        $('#itemlist').css('display', 'block');
        $('#tip').css('left', '53.7%');
        $('#tip').html('Zu druckende Etiketten eingeben');
    })
});
 
Zurück
Oben