Pelaksanaan khusus js menghalang acara kemahiran appending_javascript

WBOY
Lepaskan: 2016-05-16 16:34:03
asal
1260 orang telah melayarinya

Kadangkala anda boleh menggunakan e.stopPropagation(); e.preventDefault(); Tetapi ia tidak boleh menghalang acara daripada ditambah.

Dalam keadaan apakah kita harus menghalang penambahan acara?

Contohnya:

Klik "Daftar Keluar". Apabila melakukan ini, pembayaran itu sendiri mempunyai acaranya sendiri, tetapi anda mesti menentukan sama ada untuk log masuk sebelum mendaftar keluar.

Kami mungkin menulis:

Kod Js

Salin kod Kod adalah seperti berikut:

if(isLogin){ //Tentukan sama ada hendak log masuk
console.log("Tidak dilog masuk")
}lain{
//Kod berkaitan daftar keluar
}

Jika anda mengklik "Laman Utama Saya", semakan log masuk juga akan dilakukan
Log masuk kod penghakiman

if(isLogin){ //Tentukan sama ada hendak log masuk
console.log("Tidak dilog masuk")
}lain{
//Pusat peribadi
}


Jika terdapat lebih banyak log masuk untuk dinilai. Adakah terdapat lebih banyak kod seperti di atas? Kemudian saya menemui kaedah stopImmediatePropagation() untuk mengelakkan acara daripada dilampirkan. Masalah di atas bukan lagi masalah.

Penting: Pastikan peristiwa penghakiman log masuk ialah peristiwa terikat pertama.

Kod demo

Salin kod Kod adalah seperti berikut:

demo

Checkout


  • Tambahkan pada kegemaran
  • Bayar oleh orang lain
  • Tambah ke Troli
  • Laman Utama Saya


//Ikat dahulu
$(".isLogin").on("klik", fungsi (e) {

if(true){ //Penghakiman log masuk
alert("Tidak log masuk");
e.stopImmediatePropagation();
}

kembali palsu; });

$(".bil").on("klik",fungsi(){
alert("Daftar kandungan berkaitan!"); });

$(".a1").on("klik",fungsi(){
makluman("a1"); });

$(".a2").on("klik",function(){
makluman("a2"); });

$(".a3").on("klik",fungsi(){
alert("Ditambah pada troli"); });

$(".a4").on("klik",fungsi(){
alert("Penentuan log masuk"); });




Malah, jquery memberikan kami kaedah $._data($('.isLogin').get(0)) untuk melihat acara, membuka pepijat api dan masuk ke dalam konsol.
Kod Js

$._data($('.isLogin').get(0))

Anda akan melihat perkara berikut:

Kod Js

Objek { peristiwa={...}, handle=function()}

Klik untuk melihat tatasusunan acara, menjadikannya mudah untuk melihat acara yang terikat pada elemen.
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