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

Bagaimana untuk membatalkan acara hover dalam jquery

藏色散人
Lepaskan: 2021-11-11 09:11:42
asal
5293 orang telah melayarinya

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"); } }); });
Salin selepas log masuk

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'); })
Salin selepas log masuk

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"); } }); });
Salin selepas log masuk

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'); })
Salin selepas log masuk

Cara yang betul untuk membatalkan acara tuding terikat:

$('a').unbind('mouseenter').unbind('mouseleave');
Salin selepas log masuk

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!

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