Avatar billede sluppermanden Nybegynder
16. april 2008 - 18:01 Der er 8 kommentarer og
1 løsning

Image Anchor onclick virker ikke.

Hej

Jeg er ved at oprette en table dynamisk.

Jeg skal have et billede af en skaldspand som sletter linien.
Men når jeg tilføjer min onclick method sker der ikke noget når jeg clicker på linket.

Nogen ideer.
Her er koden.

function addLine(nodename,txt,tctLow,tctHigh,myField)
  {
    var table = document.getElementById('selectedNodesTable');
    table.className = 'urTxtStd';
    var newRow = table.insertRow(table.rows.length);
    var newCell0 = newRow.insertCell(0);
    deleteImage = new Image();
    deleteImage.src = '/public/bc/icons/s_b_dele.gif';
    link = document.createElement("a");
    link.onclick = 'deleteMe(this);';
    link.href="#";
    deleteImage.onclick = 'deletme(this)';
    link.appendChild(deleteImage);
    newCell0.appendChild(link);
    newCell1 = newRow.insertCell(1);
    newCell1.innerHTML = tctLow;
  }
Avatar billede sluppermanden Nybegynder
16. april 2008 - 18:13 #1
har rettet
deleteImage.onclick = 'deletme(this)';
til
deleteImage.onclick = 'deleteMe(this)';

Men det virker stadigvæk ikke.
Avatar billede sluppermanden Nybegynder
16. april 2008 - 18:31 #2
Nu i simpel format som ikke virker.

<script type="text/javascript">
img = new Image();
img.id = 'img';
img.src = 'http://www.w3schools.com/images/w3default80.jpg';
img.onclick = "alert('you hit me')"
document.body.appendChild(img);
</script>
Avatar billede w13 Novice
16. april 2008 - 18:50 #3
Det hedder:

img.onclick = function(){ alert('you hit me') }
Avatar billede w13 Novice
16. april 2008 - 18:54 #4
Eller:

img.onclick = new Function("alert('you hit me')");
Avatar billede sluppermanden Nybegynder
16. april 2008 - 19:12 #5
takker
Avatar billede olebole Juniormester
16. april 2008 - 23:24 #6
<ole>

- og så bør det vel være:
    var img = document.createElement("img");

/mvh
</bole>
Avatar billede roenving Novice
17. april 2008 - 11:14 #7
-- og så bør eventen først indsættes efter at billedet er indsat i DOM-hierarkiet ...
Avatar billede sluppermanden Nybegynder
18. april 2008 - 12:02 #8
Hej Ole og roenving.
Det andet virker, men jeg kunne godt tænke mig at hvorfor i mener at det skulle være anderledes.
Avatar billede roenving Novice
18. april 2008 - 13:47 #9
Faktisk lyder det meget mærkeligt, at du kan indsætte et javascript Image-element ind og få det til at blive et html-element, lidt i stil med at fylde bilens benzintank via nettet ...

-- med createElement opretter du et html-element, som jo også er det, du har brug for, og jeg vil blive ret overrasket, hvis det virker i alle browsere, men jeg har heller ikke prøvet ...

-- og indsættelsen af eventen handler om IEs håndtering af den slags, hvor det midlertidige adresserum, der oprettes mens elementet så at sige er fritsvævende og ikke indsat i DOM-hierarkiet, ikke nedlægges til fordel for det nye adresserum inde i DOM-hierarkiet, der oprettes, når elementet indsættes. Der er derfor en memory-leak, som specielt ved omfattende applikationer kan blive ret betydelig !-)
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