Rumah >hujung hadapan web >tutorial js >Bagaimana untuk membatalkan acara hover dalam jquery

Bagaimana untuk membatalkan acara hover dalam jquery

藏色散人
藏色散人asal
2021-11-11 09:11:425228semak imbas

Cara membatalkan acara tuding dalam jquery: 1. Ikat acara klik dan tuding pada teg a; 2. Gunakan "$('a').unbind('mouseenter').unbind('mouseleave; ') ;" kaedah boleh membatalkan acara tuding terikat.

Bagaimana untuk membatalkan acara hover dalam jquery

Persekitaran pengendalian artikel ini: sistem windows7, versi jquery 3.2.1, komputer DELL G3

Cara membatalkan acara hover dalam jquery?

Cara yang betul untuk membatalkan dan mengikat acara hover dalam jquery

Dalam reka bentuk web, kami sering menggunakan jquery untuk bertindak balas terhadap hover tetikus peristiwa, alih tetikus dan keluar tetikus Peristiwa mempunyai kesan yang sama, tetapi bagaimana untuk menggunakan bind untuk mengikat kaedah hover? Bagaimana untuk menggunakan unbind untuk menyahikat acara?

1. Cara mengikat acara tuding

Mula-mula lihat kod berikut Katakan kita mengikat acara klik dan tuding pada teg a:

$(document).ready(function(){ $('a').bind({ hover: function(e) { //
Hover event handler alert("hover"); }, click: function(e) { // Click
event handler alert("click"); } }); });

Apabila teg diklik, sesuatu yang aneh berlaku Peristiwa tuding terikat tidak bertindak balas sama sekali, tetapi acara klik terikat bertindak balas secara normal.

Tetapi jika anda menukar kaedah penulisan, contohnya:

$("a").hover(function(){ alert('mouseover'); }, function(){
alert('mouseout'); })

Kod ini boleh berjalan seperti biasa. Tidak boleh terikat untuk berlegar?

Sebenarnya, tidak, kedua-dua acara mouseenter dan mouseleave harus digunakan sebaliknya (ini juga merupakan acara yang digunakan dalam fungsi .hover())

Jadi ia boleh dipetik terus seperti ini :

$(document).ready(function(){ $('a').bind({ mouseenter: function(e) { //
Hover event handler alert("mouseover"); }, mouseleave: function(e) { //
Hover event handler alert("mouseout"); }, click: function(e) { // Click
event handler alert("click"); } }); });

Oleh kerana .hover() ialah peristiwa yang ditakrifkan oleh jQuery sendiri Ia hanya untuk kemudahan pengguna untuk mengikat dan memanggil acara mouseenter dan mouseleave, jadi sudah tentu ia tidak boleh digunakan sebagai peristiwa dalam parameter acara .bind() untuk dipanggil.

2. Cara membatalkan acara tuding

Seperti yang kita sedia maklum, anda boleh menggunakan fungsi unbind untuk membatalkan acara terikat, tetapi anda hanya boleh membatalkan acara terikat melalui bind. Acara hover dalam jquery agak istimewa Jika acara terikat dengan cara ini, ia tidak boleh dibatalkan.

$("a").hover(function(){ alert('mouseover'); }, function(){
alert('mouseout'); })

Cara yang betul untuk membatalkan acara tuding terikat:

$('a').unbind('mouseenter').unbind('mouseleave');

3 Ringkasan

Malah, anda boleh merujuk soalan ini Beberapa orang telah membaca dokumentasi rasmi jquery Kebanyakan tutorial di Internet hanya menerangkan cara menggunakan kaedah ini dan hanya mencapai matlamat Tiada pemahaman yang mendalam tentang mengapa ia ditulis dengan cara ini?

Pembelajaran yang disyorkan: "tutorial video jquery"

Atas ialah kandungan terperinci Bagaimana untuk membatalkan acara hover dalam jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Apakah kegunaan jquery attrArtikel seterusnya:Apakah kegunaan jquery attr