Rumah > hujung hadapan web > tutorial js > Perbincangan ringkas tentang kemahiran JavaScript events_javascript

Perbincangan ringkas tentang kemahiran JavaScript events_javascript

WBOY
Lepaskan: 2016-05-16 16:12:36
asal
1099 orang telah melayarinya

1. Aliran acara

Aliran acara menerangkan susunan acara diterima daripada halaman. Walau bagaimanapun, apa yang IE cadangkan ialah aliran menggelegak, manakala Netscape Communicator mencadangkan aliran tangkapan.
Strim acara JavaScript

2. Acara menggelegak

Peristiwa pada mulanya diterima oleh elemen yang paling spesifik (nod dengan tahap sarang paling dalam), dan kemudian merambat ke atas kepada nod yang kurang spesifik (dokumen). Seperti berikut:

Salin kod Kod adalah seperti berikut:



                                                                                                                                                                                                                                                                                                                                                                                   

          
Klik saya



window.onload = function(){
var obj = document.getElementById("test");
​ obj.onclick = function(){
alert(this.tagName);
};
Document.body.onclick = function(){
alert(this.tagName);
};
Document.documentElement.onclick = function(){
alert(this.tagName);
};
Document.onclick = function(){
makluman("dokumen");
};
​ window.onclick = function(){
makluman("tetingkap");
}
};

Jujukan penyebaran acara: div——>body——>html——>dokumen

Nota:

Semua pelayar moden menyokong acara menggelegak, tetapi terdapat beberapa perbezaan dalam pelaksanaan. Acara menggelegak dalam IE5.5 dan versi terdahulu akan melompat terus dari badan ke dokumen (html tidak akan dilaksanakan). Acara gelembung Firefox, Chrome dan Safari sehingga ke objek tetingkap.

3. Hentikan acara menggelegak dan batalkan acara lalai

a. Dapatkan objek acara

Salin kod Kod adalah seperti berikut:
fungsi getEvent(event) {
// window.event IE
// acara bukan IE
acara kembali ||. window.event;
}

b Fungsi: Hentikan acara menggelegak

Salin kod Kod adalah seperti berikut:
fungsi stopBubble(e) {
// Jika objek acara disediakan, ini ialah penyemak imbas bukan IE
jika ( e && e.stopPropagation ) {
// Oleh itu ia menyokong kaedah stopPropagation() W3C
e.stopPropagation();
} lain {
// Jika tidak, kita perlu menggunakan IE untuk membatalkan acara menggelegak
window.event.cancelBubble = benar;
}
}

c. Sekat kelakuan lalai penyemak imbas

Salin kod Kod adalah seperti berikut:
fungsi stopDefault( e ) {
// Sekat tindakan penyemak imbas lalai (W3C)
Jika ( e && e.preventDefault ) {
           e.preventDefault();
} lain {
//Bagaimana untuk menghalang tindakan lalai fungsi dalam IE
          window.event.returnValue = palsu;
}
Kembalikan palsu;
}

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan