Bagaimana untuk melaksanakan penyingkiran acara dalam DOM dalam JQuery_jquery

WBOY
Lepaskan: 2016-05-16 15:55:16
asal
1388 orang telah melayarinya

Contoh dalam artikel ini menerangkan kaedah pengalihan keluar acara dalam DOM dalam JQuery. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:

Anda boleh mengikat berbilang acara pada elemen yang sama, atau anda boleh mengikat acara yang sama kepada berbilang elemen. Andaikan terdapat elemen pada halaman web.

$(function(){
 $('#btn').bind("click", function(){
     $('#test').append("<p>我的绑定函数1</p>");
   }).bind("click", function(){
     $('#test').append("<p>我的绑定函数2</p>");
   }).bind("click", function(){
     $('#test').append("<p>我的绑定函数3</p>");
  });
})

Salin selepas log masuk

1. Alih keluar acara yang didaftarkan sebelum ini pada elemen butang

Mula-mula lihat kod di bawah Klik butang "Padam Semua Acara" untuk memadamkan acara btn di atas:

<script type="text/javascript">
 $(function(){
  $('#btn').bind("click", function(){
      $('#test').append("<p>我的绑定函数1</p>");
    }).bind("click", function(){
      $('#test').append("<p>我的绑定函数2</p>");
    }).bind("click", function(){
      $('#test').append("<p>我的绑定函数3</p>");
   });
  $('#delAll').click(function(){
    $('#btn').unbind("click");
  });
 })
</script>

Salin selepas log masuk
<button id="btn">点击我</button>
<div id="test"></div>
<button id="delAll">删除所有事件</button>

Salin selepas log masuk

Mari kita lihat struktur sintaks kaedah unbind(): unbind([type] [, data]);

Parameter pertama ialah jenis acara, dan parameter kedua ialah fungsi yang akan dialih keluar Butirannya adalah seperti berikut:

Jika tiada parameter, padamkan semua peristiwa terikat.
Jika jenis acara disediakan sebagai parameter, hanya peristiwa terikat jenis itu dialih keluar.
Jika fungsi pengendali diluluskan apabila pengikatan diluluskan sebagai parameter kedua, hanya pengendali peristiwa khusus ini akan dipadamkan.

2. Alih keluar salah satu acara elemen Mula-mula anda perlu menentukan pembolehubah untuk fungsi pemprosesan tanpa nama ini.

<script type="text/javascript">
 $(function(){
  $('#btn').bind("click", myFun1 = function(){
      $('#test').append("<p>我的绑定函数1</p>");
    }).bind("click", myFun2 = function(){
      $('#test').append("<p>我的绑定函数2</p>");
    }).bind("click", myFun3 = function(){
      $('#test').append("<p>我的绑定函数3</p>");
   });
  $('#delTwo').click(function(){
    $('#btn').unbind("click",myFun2);
  });
 })
</script>

Salin selepas log masuk
<button id="btn">点击我</button>
<div id="test"></div>
<button id="delTwo">删除第二个事件</button>

Salin selepas log masuk
Selain itu, untuk situasi di mana pengikatan hanya perlu dicetuskan sekali dan kemudian dilepaskan serta-merta, JQuery menyediakan kaedah trengkas - kaedah one(). Kaedah one() boleh mengikat fungsi pengendali kepada elemen. Apabila fungsi pemprosesan dicetuskan sekali, ia dipadamkan serta-merta. Iaitu, pada setiap objek, fungsi pengendali acara hanya akan dilaksanakan sekali.

Struktur kaedah one() adalah serupa dengan kaedah bind() dan penggunaannya adalah sama dengan kaedah bind() Struktur sintaksnya adalah seperti berikut: satu (jenis, [data], fn) ;

<script type="text/javascript">
 $(function(){
  $('#btn').one("click", function(){
      $('#test').append("<p>我的绑定函数1</p>");
    }).one("click", function(){
      $('#test').append("<p>我的绑定函数2</p>");
    }).one("click", function(){
      $('#test').append("<p>我的绑定函数3</p>");
   });
 })
</script>

Salin selepas log masuk
<button id="btn">点击我</button>
<div id="test"></div>

Salin selepas log masuk
Selepas menggunakan kaedah one() untuk mengikat acara klik pada elemen , fungsi pemprosesan hanya akan dilaksanakan apabila pengguna mengklik butang untuk kali pertama dan klik berikutnya tidak akan berfungsi lagi.

Saya harap artikel ini akan membantu pengaturcaraan jQuery semua orang.

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