ďťż

[xhtml/javascript] Użycie onclick w <a> Nie działa w jednej przeglądarce.

       

Podstrony


telcocafe

Mam przykładowo taki kod:
<a href="div2.xml" onclick="process2(this)">Menu3 </a>
Chcę, żeby po naciśnięciu na link wywołała się funkcja z onclick. Wszystko jest oki, ale na jednej popularnej przeglądarce to nie działa (za to działa na FF i O). Funkcja wcale się nie wywołuje, tylko przechodzi mi do adresu. Jeżeli zastąpię <a> przez <div>, to działa. Niestety, XHTML nie przewiduje atrybutu href dla div, więc rozwiązanie odpada. Za to w <a> onclick jest dozwolone, tylko jak zmusić przeglądarkę, żeby to wykonała?
Czekam na wszelkie pomysły, nie muszą być dobre... :) Nawet nie działające rozwiązanie może zbliżyć do wyjaśnienia.



w xHTML 2.0 będzie obsługiwało :-)

daj href="#"

AFAIK albo po "process2(this)" daj "; return false;" ;)
process2(this); return false;
Użytkownik marines edytował ten post 24 marzec 2007, 14:20
Sprawdziłem oba sposoby. Problem w tym, że nawet jak usunę z <a> href, to i tak nie chce się wykonać onclick. Widocznie nie jest przewidziane dla tego znacznika.

w xHTML 2.0 będzie obsługiwało :-)
W 1.0 też nie ma słowa o tym, żeby onclick było zabronione dla znacznika <a>, więc raczej nie będę czekał.
Postanowiłem w sprawdzić dwa pomysły:
1. Zamknąć <a> w <div> i dać onclick w divie.
2. W onload zamienić <a> na <div>.



a moze poprostu
<a href="javascript:process2(this);">Menu3</a>
Użytkownik bikstopa edytował ten post 24 marzec 2007, 16:13

W 1.0 też nie ma słowa o tym, żeby onclick było zabronione dla znacznika <a>, więc raczej nie będę czekał.
chodziło mi o href dla diva

daj linke albo cos bo az mi sie nie chce wierzyc :) zawsze tak robilem i bylo ok :)

Zrobiłem tak:
<div onclick="process2('div.xml')"> <a href="div.xml">Menu3</a> </div>
I teraz w onload wywalam a i zostaje sam div.

daj linke albo cos bo az mi sie nie chce wierzyc
Na razie za bardzo eksperymentuję, żeby to się dało pokazać. Ciężko by było to dostosować, bo również w PHP musiałbym dać zmiany, żeby coś można zobaczyć. Ale jak masz gdzieś udostepnioną stronę z onclick w a i możesz pokazać, to chętnie spojrzę. Może odgadnę co ja nie tak robiłem, że u ciebie działa, a u mnie nie.


a moze poprostu
<a href="java script:process2(this);">Menu3</a>

Nie mogę tak zrobić, bo założenie jest takie, że jak nie działa Javascript, to wywoływany jest link, a jak działa, to tylko funkcja z onclick.
////EDIT: Jednak pomysł bikstopa po niewielkiej modyfikacji jest dobry i chyba tak to zostawię. Teraz mam samo <a href="jakiś adres"> i w onload zamieniam to na <a href="java script:process2('jakiś adres')">. I wtedy href działa jak onclick. Na razie wydaje się wszystko oki.
Użytkownik chodnik edytował ten post 25 marzec 2007, 11:56
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.