Toon posts:

[javascript] addEventListener en return false. Hoe?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende stukje script (ingekort):



code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<div id="menu">
  <div id="M1"><a href="http://www.site.com">site</a></div>
</div>

<script language="javascript" type="text/javascript">
var strAgent = navigator.userAgent.toLowerCase();
if (strAgent.indexOf("msie") != -1) {
  strAgent = 'IE';
} else {
  strAgent = 'MOZ';
}

var objMenu = document.getElementById('menu');

function boeien() {
  alert('fired');
  return false;
}

if (strAgent == 'IE') {
  objMenu.attachEvent('onclick',boeien);
} else {
  objMenu.addEventListener('click', boeien, false);
}
</script>
Ik wil voorkomen dat als er op de link geklikt wordt, de browser navigeerd naar die link.
Als de browser IE is, dan werkt dit dankzij return false. Maar firefox volgt de link wel. Hoe kan ik dit voorkomen?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

preventDefault()

Je kan trouwens beter browsersniffing doen op basis van het bestaan van bepaalde methoden. UAstrings zijn onbetrouwbaar.

Voor dit soort dingen gebruik ik echter nog meestal de DOM1 methode (ook omdat attachEvent B.A.D. is):
JavaScript:
1
objMenu.onclick = boeien;

[ Voor 116% gewijzigd door crisp op 21-05-2005 15:52 ]

Intentionally left blank


Verwijderd

Topicstarter
Ah zo simpel :), thanks...
Je kan trouwens beter browsersniffing doen op basis van het bestaan van bepaalde methoden. UAstrings zijn onbetrouwbaar.
Ja, ik ben geen serieuze javascripter; af-en-toe heb ik wat nodig en dan kan ik behoorlijk wat in elkaar flansen, maar ongetwijfeld valt mijn code onder de categorie BAD, en om eerlijk te zijn, ik vind het prima.

Anyway, ik weet niet wat de DOM1 methode inhoud, maar is vermoedelijk op basis van object detectie, right? http://www.quirksmode.org/js/detect.html

Nogmaals bedankt..