Avatar billede tmo Nybegynder
26. januar 2007 - 11:44 Der er 9 kommentarer

getElement on click

Hej,

Hvordan finder man oplysninger om et element på onclick. fx:

<body>

<A href="test.pdf">TEST</A>
<A href="test1.pdf">TEST</A>

</body>

Når det klikkes på et af ovenstående links vil jer gerne have SRC værdien. Jeg kan ikke ændre noget i koden, kun tilføje js kode. Så en onclick event på links går ikke.

Har rodet lidt med:

    function getElement(){
    var aEls = SRC på det link der er klikket på 
        window.alert( aEls );
    }

 
    // Add another event handler
    document.onclick = getElement;

tmo
Avatar billede mcgoat Nybegynder
26. januar 2007 - 11:51 #1
Hvis du ikke kan sætte onClick events på links, så tror jeg ikke du kan finde ud af at der bliver trykket på dem. Hvis det var det du ville have?
Avatar billede Slettet bruger
26. januar 2007 - 11:55 #2
Prøv med nedenstående. Jeg har desværre ikke tid til at teste.

function clickHandler(oEvent) {
  if (!oEvent) oEvent = window.event;
  var oTElem = oEvent.target;
  var sSrc = oTElem.getAttribute("src");

  alert(sSrc);
}

document.onclick = clickHandler;
Avatar billede tmo Nybegynder
26. januar 2007 - 11:56 #3
ja, det er det jeg vil. noget i stil med

var ele = document.getElementById(det link der er klikket på);
Avatar billede tmo Nybegynder
26. januar 2007 - 12:00 #4
Hej jjust,

lavde lidt om på det:

function clickHandler(oEvent) {
      if (!oEvent) oEvent = window.event;
      var oTElem = oEvent.target;
      alert(oTElem)
     
  }

document.onclick = clickHandler;

og det virker.

Smid et svar
Avatar billede tmo Nybegynder
26. januar 2007 - 12:01 #5
men selvfølgelig kun på FireFox ;-(
Avatar billede tmo Nybegynder
26. januar 2007 - 12:05 #6
løsning:
var el;
      if(window.event) // IE check
        el = window.event.srcElement;
      if(oEvent && oEvent.target) // standard-compliant browsers
          el = oEvent.target;
Avatar billede Slettet bruger
26. januar 2007 - 12:11 #7
Jeg ville nok lave tjekket sådan her:

if (!e) e = window.e;
var el = (e.target ? e.target : e.srcElement);

Men, det er vel en smagssag.

Fint du selv fik det til at virke...så behøver jeg jo ikke at indkassere point ;)
Avatar billede Slettet bruger
26. januar 2007 - 12:16 #8
Ups ... det skulle være e = window.event; :?
Avatar billede roenving Novice
27. januar 2007 - 01:23 #9
-- hvorfor ikke sætte en onclick-handler på, når dokumentet skabes:

window.onload = function(){
  var lnks = document.getElementsByTagName("a");
  for(i=0,im=lnks.length;im>i;i++){
    lnks.onclick = function(){getHref(this);};
  }
}

function getSrc(elm){
  alert(elm.href);
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester