Toon posts:

JS td onclick / a href

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hello,

Probleem:
ik heb een menu met CSS in een table.
menu-items staan in cellen (<td>) als link (<a href>).

Nu wilde ik dat als er buiten de link geklikt werd , maar BINNEN de TD dat hij dan alsnog die link opende (via javascript dus this.firstChild.href)

Leuk en aardig... dat werkt. Maar als er nu op de link geklikt wordt dan worden de onclick events van beide elementen getriggerd (td en a href). Hoe kan ik dit voorkomen want hij blijft 2 keer de pagina openen! irri.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Maak van de link geen link maar tekst en gebruik alleen de td-onclick? :)

(Als je cursor:pointer geburikt merkt niemand het verschil)

Verwijderd

het target niet op new zetten maar op.. een andere naam : bijv ZoepnekWin??
werkt dat niet, opent ie m 2x maar in t zelfde venster, over elkaar dus

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Verwijderd schreef op 29 oktober 2002 @ 12:29:
het target niet op new zetten maar op.. een andere naam : bijv ZoepnekWin??
werkt dat niet, opent ie m 2x maar in t zelfde venster, over elkaar dus


Dat lost niet het probleem op, maar verstopt het gevolg...

Verwijderd

Topicstarter
Verwijderd schreef op 29 oktober 2002 @ 12:29:
het target niet op new zetten maar op.. een andere naam : bijv ZoepnekWin??
werkt dat niet, opent ie m 2x maar in t zelfde venster, over elkaar dus
hmm dat is maybe goed idee, die ga ik proberen

de link helemaal weghalen en alleen TD onclick begin ik niet aan. das vies

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

-onClick="return false" in je <a>
-iets met cancelBubble wellicht
-geen <a> gebruiken zoals Bosmonster zegt

Genoeg mogelijkheden...

Intentionally left blank


Verwijderd

Topicstarter
Bosmonster schreef op 29 oktober 2002 @ 12:30:
Dat lost niet het probleem op, maar verstopt het gevolg...
jou oplossing is anders niet echt browser en searchengine vriendelijk :9

  • syllaz
  • Registratie: Mei 2002
  • Laatst online: 20-04 17:01
css > a:hover

als je nu daar de margins van je <td> in je style overneemt, dan is je hele <td> een link :)

Verwijderd

Verwijderd schreef op 29 oktober 2002 @ 12:31:
[...]

hmm dat is maybe goed idee, die ga ik proberen

de link helemaal weghalen en alleen TD onclick begin ik niet aan. das vies
whahaha mijn oplossing is pas vies, maarja je moet toch wat verzinnen of niet

Verwijderd

Topicstarter
crisp schreef op 29 oktober 2002 @ 12:31:
-onClick="return false" in je <a>
werkt niet
-iets met cancelBubble wellicht
huh daar heb ik nog nooit van gehoord, is vast niet standaard JS
-geen <a> gebruiken zoals Bosmonster zegt
bah dan nog liever geen onclick in die td

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Verwijderd schreef op 29 oktober 2002 @ 12:31:

hmm dat is maybe goed idee, die ga ik proberen

de link helemaal weghalen en alleen TD onclick begin ik niet aan. das vies
Wat is daar vies aan?

Dat vind ik persoonlijk een keurige oplossing.

Verwijderd

syllaz schreef op 29 oktober 2002 @ 12:33:
css > a:hover

als je nu daar de margins van je <td> in je style overneemt, dan is je hele <td> een link :)
iets verder uitgewerkt:

PHP:
1
2
3
4
5
6
7
8
9
a {
  display: block;
  padding: 5px; /*of iets dergelijks, eventueel */
}
/*ook eventueel: */
a:hover {
  background: #eef; /* hover background voor je hele 'td' */
  color: #00f;
}

that's it :)

Verwijderd

Topicstarter
Verwijderd schreef op 29 oktober 2002 @ 12:40:
[...]

iets verder uitgewerkt:

PHP:
1
2
3
4
5
6
7
8
9
a {
  display: block;
  padding: 5px; /*of iets dergelijks, eventueel */
}
/*ook eventueel: */
a:hover {
  background: #eef; /* hover background voor je hele 'td' */
  color: #00f;
}

that's it :)
euhm dat werkt wel heel leuk zal het onthouden, MAAR
nu is wel de hele TD die kleur als je over de LINK gaat, maar niet als je over de TD gaat.... dus het is niet wat ik zoek :( helaas

Verwijderd

Topicstarter
oke het werkt!!! goh is natuurlijk wel goed zelf na te blijven denken.
Ik heb aan het bovenstaande
a.{
width: (breedte van cell) toegevoegd (logisch)
}
en dan werkt het wel :) thanks

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

woeitje:
huh daar heb ik nog nooit van gehoord, is vast niet standaard JS
*proest* :D Als dat het criterium is voor standaard JS, dan ben ik bang voor de standaard JS :D
</offtopic>

[ Voor 0% gewijzigd door drm op 29-10-2002 12:48 . Reden: typo ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

werkt wel:
code:
1
<td onClick="window.open(this.firstChild.href, '', '')"><a href="blaat.html" target="_blank" onClick="return false">Test</a></td>
[...]

huh daar heb ik nog nooit van gehoord, is vast niet standaard JS
Dus omdat jij er nog nooit van gehoord hebt is het vast geen standaard JS?
code:
1
<td onClick="window.open(this.firstChild.href, '', '')"><a href="blaat.html" target="_blank" onClick="event.cancelBubble=true">Test header</a></td>
[...]

bah dan nog liever geen onclick in die td
suit yourself...

Intentionally left blank


Verwijderd

Topicstarter
drm schreef op 29 oktober 2002 @ 12:48:

[...]

*proest* :D Als dat het criterium is voor standaard JS, dan ben ik bang voor de standaard JS :D
</offtopic>
jah :p ik ook ;)

Verwijderd

crisp schreef op 29 oktober 2002 @ 12:31:
-onClick="return false" in je <a>
Return false stop de "default action" van een element. Bij een <form> is dat een submit, en bij een <a> is dat het navigeren naar de href. Dat is dus niet wat je wilt.
-iets met cancelBubble wellicht
Inderdaad. Bij IE doe je event.cancelBubble=true en bij Mozilla doe je event.stopPropagation()
-geen <a> gebruiken zoals Bosmonster zegt
En wat moeten mensen die liever hun muis niet gebruiken? :) voor velen idd geen argument ;(

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 29 oktober 2002 @ 20:47:
[...]
Return false stop de "default action" van een element. Bij een <form> is dat een submit, en bij een <a> is dat het navigeren naar de href. Dat is dus niet wat je wilt.
Dat is in dit geval juist wel wat je wilt; de onClick wordt ook getriggered op de <td> en opent de pagina, om te voorkomen dat de href de pagina ook opent cancel je de href...
[...]
Inderdaad. Bij IE doe je event.cancelBubble=true en bij Mozilla doe je event.stopPropagation()
mzz, dus toch niet zo standaard :(
[...]
En wat moeten mensen die liever hun muis niet gebruiken? :) voor velen idd geen argument ;(
Ja, in dit geval is het doel navigeren, dus ben het eigenlijk wel met je eens...

Intentionally left blank

Pagina: 1