


Penjelasan terperinci tentang penggunaan mengikat acara jQuery (dengan perbezaan antara bind dan live)_jquery
Artikel ini menganalisis penggunaan pengikatan acara jQuery dengan contoh. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:
html:
<a href="#" onclick="addBtn()">addBtn</a> <div id="mDiv"> <button class="cBtn" onclick="alert(11111)">button1</button> <button class="cBtn">button2</button> <button class="cBtn">button3</button> </div>
javascript:
<script type="text/javascript"> function addBtn(){ $('#mDiv').append(' <button class="cBtn">button5</button>') } jQuery(function($){ //使用on代替live和delegate(live由于性能原因已经被废弃,被delegate代替),新添加到mDiv的button依然会有绑定的事件 $('#mDiv').on('click','.cBtn',function(index, eleDom){ alert($(this).html()) }); //使用on代替bind $('.cBtn').on('click',function(){ alert($(this).html()) }) //注意: /* 1、无论使用bind、on、delegate、click(function())都是重复绑定,即绑定的同类型事件被放到一个事件队列中,依次执行,后绑定的事件不会替换之前绑定的,对于on使用off,delegate用undelegate,bind及click使用unbind来解除绑定,例如unbind(type)传递为事件类型,如果不传type则解出所有事件绑定;需要注意的是元素本身自带的事件无法unbind(如button1) 2、要绑定自定义事件,如'open',以上函数都可以使用,但激活需要使用trigger 总结: 建议使用on函数,绑定形式为$('.myClass').on({ click:function(eleDom){ ...do someting... }, dbclick:function(eleDom){ ...do someting... } .... }) */ } </script>
Beberapa nota:
bind(type,[data],fn) mengikat pengendali acara pada acara tertentu untuk setiap elemen yang dipadankan
live(type,[data],fn) melampirkan pengendali acara pada semua elemen padanan, walaupun jika elemen itu ditambahkan kemudian
delegate(selector,[type],[data],fn) menambahkan satu atau lebih pengendali acara pada elemen yang ditentukan (elemen anak bagi elemen yang dipilih) dan menentukan fungsi untuk dijalankan apabila peristiwa ini berlaku
pada(acara,[pemilih],[data],fn) Fungsi pengendali acara yang mengikat satu atau lebih acara pada elemen yang dipilih
Perbezaan:
.bind() terikat terus pada elemen
.live() terikat pada elemen melalui gelembung. Lebih sesuai untuk jenis senarai, terikat pada nod DOM dokumen. Kelebihan .bind() ialah ia menyokong data dinamik.
.delegate() ialah proksi acara yang lebih tepat untuk kegunaan berskala kecil dan prestasinya lebih baik daripada .live()
.on() ialah versi 1.9 terbaharu yang menyepadukan tiga kaedah sebelumnya bagi mekanisme mengikat peristiwa baharu
Tambahan: Perbezaan antara mengikat dan hidup
Terdapat tiga cara untuk mengikat acara dalam jQuery: ambil acara klik sebagai contoh
(1)target.click(function(){});
(2)target.bind("klik",function(){});
(3)target.live("klik",fungsi(){});
Kaedah pertama mudah difahami Malah, ia serupa dengan penggunaan JS biasa, cuma satu tiada
Kaedah kedua dan ketiga adalah semua peristiwa yang mengikat, tetapi mereka sangat berbeza Mari kita fokus pada menerangkannya di bawah, kerana ini banyak digunakan jika anda menggunakan rangka kerja jQuery.
【Perbezaan antara mengikat dan hidup】
Kaedah langsung sebenarnya adalah varian daripada kaedah ikatan Fungsi asasnya adalah sama dengan kaedah ikatan Kedua-duanya mengikat suatu peristiwa kepada unsur, tetapi kaedah ikatan hanya boleh mengikatnya pada elemen yang sedia ada adalah tidak sah untuk elemen yang baru dijana oleh JS dan kaedah lain selepas itu Kaedah langsung hanya menebus kelemahan kaedah ikatan ini Ia juga boleh mengikat peristiwa yang sepadan dengan unsur yang dihasilkan kemudian. Jadi bagaimanakah ciri kaedah langsung ini dilaksanakan? Mari kita bincangkan prinsip pelaksanaannya di bawah.
Sebab kaedah langsung juga boleh mengikat peristiwa yang sepadan dengan unsur yang dijana kemudian dikaitkan dengan "delegasi acara" yang dipanggil "delegasi acara" bermakna peristiwa yang terikat kepada unsur nenek moyang boleh diikat kepada unsur keturunan untuk digunakan . Mekanisme pemprosesan kaedah langsung adalah untuk mengikat acara pada nod akar pokok DOM dan bukannya mengikatnya secara langsung kepada elemen. Berikan satu contoh untuk menggambarkan:
$(".clickMe").live("click",fn); $("body").append("<div class='clickMe'>测试live方法的步骤</div>");
Apabila kita mengklik pada elemen baharu ini, langkah berikut akan berlaku:
(1) Hasilkan acara klik dan serahkannya kepada div untuk diproses
(2) Memandangkan tiada peristiwa yang terikat secara langsung dengan div, acara itu berbuih terus ke pepohon DOM
(3) Peristiwa terus menggelembung ke nod akar pokok DOM Secara lalai, acara klik terikat pada nod akar
(4) Laksanakan acara klik yang terikat dengan langsung
(5) Kesan sama ada objek terikat pada peristiwa itu wujud, dan tentukan sama ada perlu untuk meneruskan pelaksanaan peristiwa terikat. Mengesan objek acara dilakukan dengan mengesan
(6) Melalui ujian (5), jika objek terikat kepada peristiwa wujud, peristiwa terikat akan dilaksanakan.
Memandangkan kaedah langsung akan mengesan sama ada objek terikat pada peristiwa itu wujud hanya apabila peristiwa berlaku, kaedah langsung boleh melaksanakan elemen tambahan dan pengikatan peristiwa kemudiannya. Sebaliknya, ikatan akan menentukan sama ada unsur yang terikat dengan peristiwa itu wujud semasa fasa mengikat peristiwa itu dan hanya akan mengikat unsur semasa, bukan pada nod induk.
Mengikut analisis di atas, manfaat hidup adalah sangat hebat, jadi mengapa kita perlu menggunakan kaedah bind? Sebab mengapa jQuery mengekalkan kaedah bind dan bukannya menggunakan kaedah langsung untuk menggantikan bind adalah kerana live tidak dapat menggantikan bind sepenuhnya dalam beberapa kes. Perbezaan utama adalah seperti berikut:
(1) Kaedah bind boleh mengikat mana-mana acara JavaScript, manakala kaedah langsung hanya menyokong klik, dblclick, keydown, tekan kekunci, keyup, mousedown, mousemove, mouseout, mouseover dan mouseup dalam jQuery 1.3. 1, fokus dan acara biru juga disokong (dipetakan kepada fokus dan fokus, yang lebih sesuai dan boleh menggelembung). Selain itu, dalam jQuery 1.4.1, hover (dipetakan kepada "mouseenter mouseleave") juga disokong.
(2) live() tidak menyokong sepenuhnya elemen yang ditemui melalui traversal DOM. Sebaliknya, anda harus sentiasa menggunakan kaedah .live() terus selepas pemilih.
(3) Apabila elemen menggunakan kaedah langsung untuk mengikat peristiwa, jika anda ingin menghalang penghantaran atau menggelegak acara, anda mesti mengembalikan palsu dalam fungsi Hanya memanggil stopPropagation() tidak boleh menghalang penghantaran peristiwa menggelegak
Pembaca yang berminat dengan lebih banyak kandungan yang berkaitan dengan acara dan kaedah jQuery boleh menyemak topik khas tapak ini: "Ringkasan penggunaan dan teknik acara biasa jQuery"
Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan jQuery.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



MetaMask (juga dipanggil Little Fox Wallet dalam bahasa Cina) ialah perisian dompet penyulitan percuma dan diterima baik. Pada masa ini, BTCC menyokong pengikatan pada dompet MetaMask Selepas mengikat, anda boleh menggunakan dompet MetaMask untuk log masuk dengan cepat, menyimpan nilai, membeli syiling, dsb., dan anda juga boleh mendapatkan bonus percubaan 20 USDT untuk pengikatan pertama. Dalam tutorial dompet BTCCMetaMask, kami akan memperkenalkan secara terperinci cara mendaftar dan menggunakan MetaMask, dan cara mengikat dan menggunakan dompet Little Fox dalam BTCC. Apakah dompet MetaMask? Dengan lebih 30 juta pengguna, MetaMask Little Fox Wallet ialah salah satu dompet mata wang kripto yang paling popular hari ini. Ia percuma untuk digunakan dan boleh dipasang pada rangkaian sebagai sambungan

Dalam era ledakan maklumat hari ini, pembinaan jenama peribadi dan imej korporat telah menjadi semakin penting. Sebagai platform perkongsian kehidupan fesyen terkemuka di China, Xiaohongshu telah menarik sejumlah besar perhatian dan penyertaan pengguna. Bagi pengguna yang ingin mengembangkan pengaruh mereka dan meningkatkan kecekapan penyebaran kandungan, sub-akaun yang mengikat telah menjadi cara yang berkesan. Jadi, bagaimanakah Xiaohongshu mengikat sub-akaun? Bagaimana untuk menyemak sama ada akaun itu normal? Artikel ini akan menjawab soalan-soalan ini untuk anda secara terperinci. 1. Bagaimana untuk mengikat sub-akaun pada Xiaohongshu? 1. Log masuk ke akaun utama anda: Pertama, anda perlu log masuk ke akaun utama Xiaohongshu anda. 2. Buka menu tetapan: klik "Saya" di penjuru kanan sebelah atas, dan kemudian pilih "Tetapan". 3. Masukkan pengurusan akaun: Dalam menu tetapan, cari pilihan "Pengurusan Akaun" atau "Pembantu Akaun" dan klik

1. Buka Toutiao. 2. Klik Saya di penjuru kanan sebelah bawah. 3. Klik [System Settings]. 4. Klik [Tetapan Akaun dan Privasi]. 5. Klik butang di sebelah kanan [Douyin] untuk mengikat Douyin.

Aplikasi Cainiao ialah platform yang boleh memberikan anda pelbagai maklumat logistik Fungsi di sini sangat berkuasa dan mudah digunakan Jika anda mempunyai sebarang masalah berkaitan logistik, ia boleh diselesaikan di sini -perkhidmatan berhenti boleh menyelesaikan segala-galanya dalam masa Menyemak penghantaran ekspres, mengambil penghantaran ekspres, dan lain-lain semuanya tanpa sebarang masalah. Kami telah bekerjasama dengan pelbagai platform dan semua maklumat boleh ditanya Mungkin berlaku bahawa barang yang dibeli di Pinduoduo tidak dapat memaparkan maklumat logistik Sebenarnya, anda perlu mengikat Pinduoduo secara manual untuk mencapai ini. Cara mengikat Cainiao ke akaun Pinduoduo: 1. Buka APP Cainiao dan pergi ke halaman utama

Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Dalam jQuery, kaedah menghantar permintaan PUT adalah serupa dengan menghantar jenis permintaan lain, tetapi anda perlu memberi perhatian kepada beberapa butiran dan tetapan parameter. Permintaan PUT biasanya digunakan untuk mengemas kini sumber, seperti mengemas kini data dalam pangkalan data atau mengemas kini fail pada pelayan. Berikut ialah contoh kod khusus menggunakan kaedah permintaan PUT dalam jQuery. Mula-mula, pastikan anda memasukkan fail perpustakaan jQuery, kemudian anda boleh menghantar permintaan PUT melalui: $.ajax({u

Adakah anda tahu cara mengikat Pinduoduo apabila menggunakan Cainiao Wrap App versi rasmi Cainiao Wrap tidak menyegerakkan beberapa maklumat logistik Pinduoduo pada platform ini. Apa yang perlu kami lakukan ialah Anda boleh menyalin nombor pesanan atau menyemak telefon bimbit anda untuk melihat jika ada sebarang maklumat penghantaran ekspres. Sudah tentu, ini semua perlu diselesaikan secara manual Jika anda ingin mengetahui lebih lanjut, datang dan lihat dengan editor. Cara mengikat APP Cainiao ke Pinduoduo 1. Buka APP Cainiao dan klik "Panduan Pakej" di penjuru kiri sebelah atas halaman utama. 2. Dalam antara muka, terdapat banyak laman web membeli-belah, dan akaun boleh diikat. 3. Klik untuk mengimport platform e-dagang lain. 4. Keizinan pengguna: Klik Pinduoduo untuk pergi ke antara muka

Kereta model Mi su7 terbaru yang dilancarkan oleh Xiaomi telah mendominasi pelbagai senarai carian hangat Ramai pengguna yang kebetulan ingin membeli kereta telah memilih kereta model Xiaomi su7 untuk pembelian Jadi bagaimana anda menggunakan aplikasi kereta Xiaomi anda untuk mengikat kereta selepas memilih Jika anda memutuskan untuk menggunakan longgokan pengecasan rumah untuk mengecas, panduan tutorial ini akan memberi anda pengenalan terperinci, saya harap ia dapat membantu anda. Mula-mula, kami membuka aplikasi mudah alih Xiaomi, klik butang Saya di sudut kanan bawah, dan kemudian dalam antara muka Saya, anda boleh melihat pilihan longgokan pengecasan rumah Selepas memasuki halaman yang mengikat longgokan pengecasan, klik kod imbasan butang di bawah dan imbas kod QR pada longgokan pengecasan Kod QR boleh digunakan untuk mengikat longgokan pengecasan pada apl.

Tajuk: Petua jQuery: Cepat ubah suai teks semua teg pada halaman Dalam pembangunan web, kita selalunya perlu mengubah suai dan mengendalikan elemen pada halaman. Apabila menggunakan jQuery, kadangkala anda perlu mengubah suai kandungan teks semua teg dalam halaman sekaligus, yang boleh menjimatkan masa dan tenaga. Berikut akan memperkenalkan cara menggunakan jQuery untuk mengubah suai teks semua teg pada halaman dengan cepat, dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan fail perpustakaan jQuery dan memastikan bahawa kod berikut dimasukkan ke dalam halaman: <
