webForumDet fria alternativet

Problem med return false

4 svar · 237 visningar · startad av mikkeX

mikkeXMedlem sedan aug. 2002490 inlägg
#1

Detta fungerar nästan, men jag behöver stoppa in ett return false någonstans (eller något liknande) - vet bara inte var...

<a href="javascript:if (document.getElementsByTagName){var obj = document.getElementsByTagName('a');{for(i=0;i<obj.length;i++){obj[i].style.background = 'yellow';}}}";>gula</a>

Koden färgar alltså alla länkar på sidan gula - i mozilla fägas de gula sedan hoppar webbläsaren till en ny sida...

JojoxxMedlem sedan juni 20004 306 inlägg
#2

Använd inte href utan onClick, så här;

<a href="#" onClick="Lite_JavaScript_kod; return false;">

mikkeXMedlem sedan aug. 2002490 inlägg
#3

Tack för hjälpen, men det inte riktigt det jag var ute efter eftersom jag vill skapa en bookmarklet, jag löste det med void istället:

<a href="javascript:void(obj=document.getElementsByTagName('a'));for(i=0;i<obj.length;i++){void(obj[i].style.background='yellow')}">gula länkar</a>
Marcus EMedlem sedan maj 20021 294 inlägg
#4

För JavaScript-länkar finns tre sätt:
<a href="javascript:alert('hej');">länk</a>
<span onclick="alert('hej');">Span</span>

<a href="#" onclick="alert('hej');">#-länk</a>

Alla fungerar bra, utom den sista som ger en oönskad effekt. Koden körs OCH sidan rullar upp så långt som möjligt. Om inte det är avsikten, ska aldrig <a href="#"> användas.

JojoxxMedlem sedan juni 20004 306 inlägg
#5

Alla fungerar bra, utom den sista som ger en oönskad effekt. Koden körs OCH sidan rullar upp så långt som möjligt. Om inte det är avsikten, ska aldrig <a href="#"> användas.

Nejdå. Lägg bara till return false; sist i onClick så aktiveras inte länken. <a> är att föredra om du bibehålla funktionalliteten även i äldre webbläsare (Netscape 4.x).

Att använda onClick istället för JavaScript: i href kan vara önskvärt om du vill unvika felmeddelande i icke JavaScript-enable'ade webbläsare som försöker att ladda URL'en JavaScript:osv.

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb