Jesteś tutaj: webmade.org >> porady >> javascript
autor: Patryk 'yarpo' Jar, ostatnia modyfikacja: 2007-09-10
Bardzo częstym jest wywołanie jakiejś funkcji JS po konkretnej akcji – np. kliknięciu. Często się także zdarza, że po kliknięciu na link, który jest stworzony tylko po to, aby wywołać tę funkcję. Najczęstszą konstrukcją z jaką się spotykam jest:
<a href="#" onclick="skrypt()">Wywołaj</a>
No i takie coś działa. Jednak warto zauważyć, że nie wygląda zbyt ładnie. Po za tym, użytkownik nie widzi tak naprawdę co się stanie po kliknięciu, gdyż w pasku statusu zobaczy jedynie „#”. (fakt jeśli zobaczy odwołanie do funkcji także, bez zaglądnięcia w kod, niewiele będzie wiedział, ale zawsze coś... :P ).
Można to zmienić, a oto sposób:
<a href="javascript:skrypt();">Wywołaj</a>
Działanie takiego wywołania będzie identyczne. A nawet lepsze – nie każdy link musi być wywołany na kliknięcie – niektórzy używają klawiatury... Jednak, aby być pewnym, że skrypt się wykona, a nam na ekranie nie pokaże się nic niepożądanego, warto użyć funkcji void():
<a href="javascript:void(skrypt());">Wywołaj</a>
Teraz już wszystko będzie ładnie pięknie :).
Aha, zapomniałbym. W atrybucie href znacznika a, nie może być spacji. Jeśli wywołujesz funkcję, która wymaga tego – np:
<a href="javascript:void(skrypt(new jakas_klasa));">Wywołaj</a>
To zamiast spacji " ", wstaw: "%20". W żaden sposób nie wpłynie to na działanie skryptu, a walidator nie będzie krzyczał.
Patryk 'yarpo' Jar
szukaj: pseudoadresy URL DOM JS JavaScript
Osoby czytające tę publikację przeglądały również:
© 2004-2008 copyright by webmade.org