Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] jak przypisać do linków zdarzenie onclick
luki100011
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

Ostrzeżenie: (0%)
-----


Witam jak w temacie.
Dokładnie to jak uzyskać automatyczne przypisanie zdarzenia onclick do wszystkich linków na stronie?
Go to the top of the page
+Quote Post
Lejto
post
Post #2





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


eyy, nie rozumiem w hrefie dajesz onclick="funkcja();" i masz...
Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Musisz po załadowaniu strony przelecieć po wszystkich elementach drzewa DOM i dla tych które są linkiem utworzyć zdarzenie.
Możesz to zrobić sam a możesz za pomocą jQuery (w sekcji head):
Kod
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
    $("a").click(function() {
        alert('OK');
    });
});
//]]>
</script>
Go to the top of the page
+Quote Post
Zajec
post
Post #4





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


Bez jQuery
Kod
function dodaj() {
    var linki = document.getElementsByTagName('a');
    for (var i=0; i<linki.length; ++i) {
        linki[i].onclick = function() {
            alert('clicked');
        }
    }
}
Oczywiście funkcję wywołać po załadowaniu strony (np. zdarzenie onload)
Go to the top of the page
+Quote Post
luki100011
post
Post #5





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

Ostrzeżenie: (0%)
-----


dzięki działa ekstra.

Czy da się w ten sposób odtworzyć dźwięk "klik" zamiast komunikatu przed przeładowaniem strony (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Obecnie mam taki efekt
Kod
function dodaj() {
    var linki = document.getElementsByTagName('a');
    for (var i=0; i<linki.length; ++i) {
        linki[i].onclick = function(){
                        startKlik();
                    }
                }
    }
function startKlik(){
    document.all.music.src='klik.wav';
    pause(1000);
}

function pause(numberMillis) {
  var now = new Date();
  var exitTime = now.getTime() + numberMillis;
  while (true) {
    now = new Date();
    if (now.getTime() > exitTime)
   return;
  }
}


a w body
Kod
<bgsound src="#" id=music loop=1 autostart="true">


I działa w IE bardzo dobrze po kliknięciu linku odgrywa się muzyka funcja pause wstrzymuje na 1 sekunde czas wykonania przełączenia dźwięk się kończy i strona przeładowuje się. Ale działa tylko pod IE a jeszcze bym musiał tu uruchomić pod FF. Znalazłem sposób odpalenia dzwięku pod FF

Kod
<EMBED id="musicff" NAME="muza" SRC="klik.wav" LOOP=1 AUTOSTART=FALSE HIDDEN=TRUE MASTERSOUND>


Ale jak temu "ustrojstwu" kazać odpalić dzwięk gdyż aby nie odgrywał go od razu mam ustawioną wartość AUTOSTART FALSE.

Ten post edytował luki100011 12.07.2008, 14:43:32
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:13