Tambahkan atau hapus acara di browser IE dengan attachEvent dan detachevent. Di browser standar lainnya, AddEventListener dan RemestEventListener digunakan. Berikut ini merangkum penambahan dan penghapusan peristiwa. Lihat saja kodenya!
/*** @description Event binding, compatible with browsers* @param target* Event trigger object* @param type* Event* @param func* Event handler function*/function bind(target, type, func) {if (target.addEventListener) {// non-ie and ie9target.addEventListener(type, func, false);} else if (target.attachEvent) { // IE6 ke IE8Target.ATTACHEVENT ("ON" + TYPE, func);} else {target ["on" + type] = func; // IE5}}/*** @Description penghapusan acara, kompatibel dengan setiap browser* @param target* objek pemicu acara* @param type* event* @param func* acara pawang*/fungsi unbind (target, target) {if (target.removeEventener) {target.removeEvent.deVentener (target.removeEventener) {target.removeEventener.deev) {if target. {target.detachevent ("on" + type, func);} else {target ["on" + type] = null;}}Suplemen lain tentang arti parameter ketiga dari AddEventListener
Parameter ketiga dari addeventListener
Fungsi yang digunakan untuk menambahkan peristiwa pemicu di W3C DOM disebut AddEventListener. Namun, saya tidak pernah tahu untuk apa parameter ketiga dari fungsi ini digunakan. Saya selalu mengaturnya dengan santai dan tidak menemukan perbedaan. Saya akhirnya melihat penjelasan ketika saya membaca PPK di JavaScript dua hari yang lalu. Adapun file DOM standar yang ditemukan sejak lama, saya sebenarnya tidak pernah mencari informasi tentang parameter ini.
Parameter ini disebut UseCapture, yang merupakan nilai boolean, yang benar atau salah. Jika benar dikirim, browser akan menggunakan metode penangkapan. Jika salah, itu menggelegak, yang hanya akan berdampak dalam situasi tertentu. Biasanya disarankan untuk salah. Situasi di mana akan ada dampaknya adalah bahwa elemen target memiliki elemen leluhur dan fungsi korespondensi peristiwa yang sama. Saya pikir akan lebih jelas untuk melihat gambarnya.
Contohnya memiliki dua lapisan blok div
Seperti yang ditunjukkan pada gambar ini, contoh saya memiliki dua lapisan elemen div, dan keduanya mengatur acara klik. Secara umum, jika saya mengklik elemen biru bagian dalam tidak hanya akan memicu acara klik elemen biru, tetapi juga memicu acara klik elemen merah pada saat yang sama. Parameter UseCapture adalah untuk mengontrol urutan acara dua klik saat ini. Jika salah, maka menggelegak akan digunakan. Ini adalah proses dari dalam ke luar, sehingga acara klik elemen biru akan dieksekusi terlebih dahulu dan kemudian acara klik elemen merah. Jika itu benar, maka itu ditangkap. Sebaliknya, menggelegak akan berasal dari luar ke dalam. Acara klik elemen merah akan dieksekusi terlebih dahulu sebelum acara klik elemen biru akan dieksekusi. Terlampir adalah dua contoh, Capture dan Bubbleng. Kedua file hanya berbeda dalam parameter ini, sehingga Anda dapat menemukan bahwa urutan peristiwa terjadi berbeda.
Bagaimana jika UseCapture yang digunakan oleh elemen -elemen dari lapisan yang berbeda berbeda? Ini berarti bahwa dari elemen terluar, pertama -tama akan mencari peristiwa yang ditetapkan sebagai penangkapan ke elemen target, dan setelah mencapai elemen target untuk mengeksekusi peristiwa elemen target, kemudian mencari peristiwa yang ditetapkan sebagai gelembung.