[HTML/JS] <a> met onclick ipv href

Pagina: 1
Acties:
  • 276 views sinds 30-01-2008
  • Reageer

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Het lijkt erop dat Opera 7.5x anders omgaat met dit soort links, of ik doe iets grondig fout. Ik heb de volgende code:
HTML:
1
2
<a href="javascript:void(null);"
   onclick="window.location.href='urreltje';">blaat</a>

En als ik op die link klik (met Opera 7.51 dus) gebeurt er helemaal niets. Hij probeert niet eens iets te doen. Ik denk zelf dat hij de href belangrijker vindt dan de onclick handler.

Of doe ik soms iets fout?

Het maakt in ieder geval geen moer uit wat ik in die href zet. Dát probeert ie altijd te openen. Dus laat ik em leeg, dan herlaadt ie de pagina, zet ik er een # in, dan ook, zet ik er een url in, dan laadt ie die en zet ik er javascript in, dan voert ie dat uit. Maar onclick negeert ie volledig (dus ook een alert() voert ie niet uit). De javascript-console geeft trouwens ook geen errors.

Ik zal toch iets fout doen?

Ohja, ik zie net dat het in MSIE6SP1 ook niet werkt... in Mozilla 1.7 weer wel.

日本!🎌


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
wanneer je dit in een internetsite plaatst kun je sowieso beter even naar dit voorbeeld kijken...

http://www.alistapart.com/articles/popuplinks/

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Leuk documentje, maar het doet niets met mijn probleem. Mede doordat dat documentje over popups gaat, terwijl dit een doodnormaal javascript-linkje moet worden. In plaats van die window.location.href assignment had ik evengoed een of andere functie kunnen zetten. Dat werkt nml evenmin.

日本!🎌


  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 06:55

Reinier

\o/

code:
1
return false;

erachter zetten?

[ Voor 19% gewijzigd door Reinier op 18-06-2004 16:58 ]


  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

code:
1
<a href="urreltje" onclick="window.location.href=this.href;">blaat</a>

Dan blijft het ook zonder javascript nog redelijk werkbaar, en hoef je ook niet te klooien met voidnullen e.d. :)

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


  • slm
  • Registratie: Januari 2003
  • Laatst online: 12-11-2023

slm

Ik begrijp het nut eigenlijk niet van jouw constructie... Waarom wil je de link (in hetzelfde venster notabene) openen dmv de onclick functie ipv de normale href? Dit heeft toch precies hetzelfde effect (zou het werken) ?

To study and not think is a waste. To think and not study is dangerous.


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Maar bij die onclick moet nog wat extra's gebeuren, naast dat urreltje openen. Dat gaat ie dan dus niet uitvoeren, terwijl javascript dus wel aan staat he...

日本!🎌


  • slm
  • Registratie: Januari 2003
  • Laatst online: 12-11-2023

slm

Hij opent void(0) - niks dus - opent daarna geen andere urls meer in hetzelfde venster.

Zou je
code:
1
<a href="http://www.ilse.nl" onclick="alert('hoi')">blaat</a>

gebruiken dan werkt dat wel.

To study and not think is a waste. To think and not study is dangerous.


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Verhip :)

Maar wat moet ik dan in de href zetten als er gewoon een doodnormale functie in de onclick handler moet? Want ilse.nl wordt dus wel geopend, en dat wil ik natuurlijk weer niet...

[ Voor 25% gewijzigd door _Thanatos_ op 18-06-2004 17:11 ]

日本!🎌


Verwijderd

lees nou eens goed:
code:
1
<a href="http://www.ilse.nl" onclick="location.href='http://www.google.com';return false;">blaat</a>

mensen zonder js gaan naar ilse, met js gaan naar google, injouw geval zien mensen zodner js dan nog steeds de juiste pagina en gebeurt er verder niks

verder is jouw constructie dan nog raar, want je kan net zo goed de href wel goed zetten en die location change weglaten, dan kan ook de return false weer weg. Dan voor je dus gewoon de href en de onclick uit

[ Voor 63% gewijzigd door Verwijderd op 18-06-2004 17:15 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
Yes, dat was em :)

Ik kan dan dus ook "#" erin zetten, dan gaan non-javascript browsers in ieder geval niet naar ilse vanuit mijn site :)

weer wat geleerd, tnx mensen.

日本!🎌


Verwijderd

simpelweg de naam van de formule die je hebt aangemaakt.

bijvoorbeeld:

function blaatje2(){

}

dan wordt de aanroep: onclick"blaatje2()";

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

crisp

Devver

Pixelated

dan nu de 100.000 euro vraag: als de href niets moet uitvoeren, waarom gebruik je dan ueberhaupt een anchor?

Intentionally left blank


  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 06:55

Reinier

\o/

crisp schreef op 18 juni 2004 @ 18:24:
dan nu de 100.000 euro vraag: als de href niets moet uitvoeren, waarom gebruik je dan ueberhaupt een anchor?
Omdat je er dan naartoe kan TABben :)

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

crisp

Devver

Pixelated

Reinier schreef op 18 juni 2004 @ 18:29:
[...]


Omdat je er dan naartoe kan TABben :)
Vind ik niet echt een argument, dat is volledig afhankelijk van de user agent hoe die omgaat met elementen waar een bepaalde eventhandler op zit; je zou kunnen besluiten als browserbakker om elementen met een onclick event ook op te nemen in de tab-order - wat ik zelf niet eens zo'n gek idee zou vinden. Dat huidige browser dat niet doen is dan ook eerder een gemis aan de browserkant dan dat het een reden is om een anchor te misbruiken om een stukje javascript uit te voeren.

Intentionally left blank


  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 06:55

Reinier

\o/

crisp schreef op 18 juni 2004 @ 18:37:
[...]

Vind ik niet echt een argument, dat is volledig afhankelijk van de user agent hoe die omgaat met elementen waar een bepaalde eventhandler op zit; je zou kunnen besluiten als browserbakker om elementen met een onclick event ook op te nemen in de tab-order - wat ik zelf niet eens zo'n gek idee zou vinden. Dat huidige browser dat niet doen is dan ook eerder een gemis aan de browserkant dan dat het een reden is om een anchor te misbruiken om een stukje javascript uit te voeren.
Heb je helemaal gelijk in. Het was ook maar een wilde gok.
Misschien wil de TS het wel met een anchor doen omdat de meeste UA's dit standaard als link weergeven, inclusief een handjescursor enz. Maar ja, dat kan je ook gewoon in je stylesheet zetten.

Verwijderd

Of misschien houdt het op bij A als mensen over links nadenken? >:)

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

Bosmonster

*zucht*

Er zijn wel meer argumenten te bedenken om anchors te gebruiken. Zo kun je zonder javascript gewoon :hover effecten gebruiken. Wel zo makkelijk.

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 06:55

Reinier

\o/

Bosmonster schreef op 19 juni 2004 @ 12:04:
Er zijn wel meer argumenten te bedenken om anchors te gebruiken. Zo kun je zonder javascript gewoon :hover effecten gebruiken. Wel zo makkelijk.
Dat klopt. Maar de CSS 2.1 specificatie zegt nergens voor welke elementen de pseudo klassen :hover etc. moeten bestaan. Mozilla ondersteunt naar mijn weten vrijwel alle elementen, niet alleen anchors.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 15-05 14:44

_Thanatos_

Ja, en kaal

Topicstarter
dan nu de 100.000 euro vraag: als de href niets moet uitvoeren, waarom gebruik je dan ueberhaupt een anchor?
omdat je dan heel easy kan regelen dat ie er hetzelfde uitziet als andere links, en het dus bij de gebruiker onmiddelijk duidelijk is dat ie erop kan klikken. De vraag is juist: waarom zou je géén anchor gebruiken? ;)

日本!🎌


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

crisp

Devver

Pixelated

_Thanatos_ schreef op 19 juni 2004 @ 17:40:
[...]

omdat je dan heel easy kan regelen dat ie er hetzelfde uitziet als andere links, en het dus bij de gebruiker onmiddelijk duidelijk is dat ie erop kan klikken. De vraag is juist: waarom zou je géén anchor gebruiken? ;)
semantiek wellicht? ;)

Intentionally left blank

Pagina: 1