Skild HTML og Javascript (fjern onclick)

Her kan du få hjælp og stille spørgsmål til JavaScript!
Besvar
Brugeravatar
scootergrisen
Moderator
Moderator
Indlæg:709
Tilmeldt:21. jun 2012, 23:40
Kontakt:
Skild HTML og Javascript (fjern onclick)

Indlæg af scootergrisen » 17. nov 2013, 15:04

Nu har jeg i stedet for onClick lavet min kode om så Javascript og HTML er adskildt.

Før havde jeg sådan her.

Kode: Vælg alt

<a href="/" onclick="stemop();"></a>
<a href="/" onclick="stemned();"></a>
Det har jeg nu lavet om til sådan her.

Kode: Vælg alt

<a href="/" id="stemoplink"></a>
<a href="/" id="stemnedlink"></a>
Også er Javascript koden blevet noget større så vil gerne have hvis i har nogen råd til at optimere koden.
Lige nu har jeg koden dobbelt fordi addEventListener ikke virker i nogen ældre browsere.

Kode: Vælg alt

function init_hjemmeside_addeventlistener() {

   'use strict';

   var tilbagelink,
       opdaterlink,
       languageselect,
       stemoplink,
       stemnedlink;

   visemailadresse();

   if (document.getElementById('tilbagelink')) {

      tilbagelink = document.getElementById('tilbagelink');
      tilbagelink.addEventListener('click', tilbagelinkclick, false);

   }

   if (document.getElementById('opdaterlink')) {

      opdaterlink = document.getElementById('opdaterlink');
      opdaterlink.addEventListener('click', opdaterlinkclick, false);

   }

   if (document.getElementById('languageselect')) {

      languageselect = document.getElementById('languageselect');
      languageselect.addEventListener('change', languageformsubmit, false);

   }

   if (document.getElementById('stemoplink')) {

      stemoplink = document.getElementById('stemoplink');
      stemoplink.addEventListener('click', stemop, false);

   }

   if (document.getElementById('stemnedlink')) {

      stemnedlink = document.getElementById('stemnedlink');
      stemnedlink.addEventListener('click', stemned, false);

   }


}



function init_hjemmeside_attachevent() {

   'use strict';

   var tilbagelink,
       opdaterlink,
       languageselect,
       stemoplink,
       stemnedlink;

   visemailadresse();

   if (document.getElementById('tilbagelink')) {

      tilbagelink = document.getElementById('tilbagelink');
      tilbagelink.attachEvent('onclick', tilbagelinkclick);

   }

   if (document.getElementById('opdaterlink')) {

      opdaterlink = document.getElementById('opdaterlink');
      opdaterlink.attachEvent('onclick', opdaterlinkclick);

   }

   if (document.getElementById('languageselect')) {

      languageselect = document.getElementById('languageselect');
      languageselect.attachEvent('onchange', languageformsubmit);

   }

   if (document.getElementById('stemoplink')) {

      stemoplink = document.getElementById('stemoplink');
      stemoplink.attachEvent('onclick', stemop);

   }

   if (document.getElementById('stemnedlink')) {

      stemnedlink = document.getElementById('stemnedlink');
      stemnedlink.attachEvent('onclick', stemned);

   }


}



if (window.addEventListener) {

   window.addEventListener('load', init_hjemmeside_addeventlistener, false);

} else if (window.attachEvent) {

   window.attachEvent('onload', init_hjemmeside_attachevent);

}

Besvar