[Opera] list item marker onClick

Pagina: 1
Acties:

  • Juup
  • Registratie: Februari 2000
  • Niet online
Als je bij Mozilla of IE op een list item clickt, en je kijkt naar de e.target of de event.srcElement, dan zie je de LI. Echter in Opera zie je dan niet de LI maar wat er achter zit (de BODY bv). Testscript:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
<title>Browser Test</title>
</head>
<body>
<ul>
   <li>Level One</li>
</ul>
<script>
function toggleView(e)
{
   var cur;
   if (!e) var e = window.event;
   if (e.target) cur = e.target;
   else if (e.srcElement) cur = e.srcElement;
   if (cur.nodeType == 3) // defeat Safari bug
      cur = cur.parentNode;
   alert(cur.tagName);
}
document.onclick = toggleView;
</script>
</body>
</html>

Klik op het bolletje. Alleen in Opera krijg je dan "BODY".
Kan ik nou nog ooit achterhalen op welke LI ik klikte (in een diep geneste UL) in Opera?

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Verwijderd

en als je de eventbubbling uitzet?

  • Juup
  • Registratie: Februari 2000
  • Niet online
Verwijderd schreef op maandag 25 april 2005 @ 16:55:
en als je de eventbubbling uitzet?
Bedoel je false returnen? Maakt niet uit.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Verwijderd

nee, dat bedoel ik niet, beter googlen

  • Juup
  • Registratie: Februari 2000
  • Niet online
Okee, ook dit werkt niet.
JavaScript:
1
2
3
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();

Logisch eigenlijk. Het zou wel kunnen dat Opera default event capuring gebruikt en dat ik hem om zou moeten zetten naar bubbling. Effe kijken of ik daar wat over vind.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.