event i Gecko
Jeg har en <div> med en onclick event der åbner en alert med nogle informationer. Men i samme div har jeg nogle links, og når man klikker på dem, skal alertboksen helst ikke åbne.Et lignende sp. var oppe forleden, http://eksperten.dk/spm/529915, og jakoba havde denne løsning:
"Det der sker er at IE (og kun IE) sel sådan en event som en pil der går hele vejen igennem din side. Først rammer den din div og nedenunder din div ligger så body.
for at forhindre det skal du sætte event.chancelBubble til true i den eventhandeler der færdighåndterer hændelsen.
[code]
<body onclick="alert('1');">
<div onclick="alert('2');if(event)event.cancelBubble=true;">link</div>
[/code]
grunden til 'if(event)' er at undgå at andre brovsere (der ikke laver et event objekt) kløjs i det."
Det mærkelige er at det faktisk også virker i min Firefox når det skrives som her i selve link tag'et - selv uden betingelsen [if(event)].
Men når jeg så prøver at lave det som en funktion for alle mine links sådan:
<script type="text/javascript">
function stopParentEvent(){
var links = document.getElementsByTagName('a');
for(i=0;i<links.length;i++)
links[i].onclick=function(){event.cancelBubble=true;};
}
window.onload=stopParentEvent;
</script>
- så virker det kun i IE, ikke i Firebird?
1) Hvordan får jeg funktionen til også at virke i Firebird?
2) Hvordan kan det være at det faktisk virker i Firefox når det skrives i tag'et - selv om det er en IE ting?
