Rumah > Artikel > hujung hadapan web > Kaedah JQuery untuk mencetuskan events_jquery secara automatik
Contoh dalam artikel ini menerangkan cara JQuery mencetuskan peristiwa secara automatik. Kongsikan dengan semua orang untuk rujukan anda. Butirannya adalah seperti berikut:
Simulasi biasa
Kadangkala, adalah perlu untuk mensimulasikan operasi pengguna untuk mencapai kesan klik. Contohnya, selepas pengguna memasuki halaman, peristiwa klik dicetuskan tanpa pengguna perlu mengklik secara aktif.
Dalam JQuery, anda boleh menggunakan kaedah trigger() untuk menyelesaikan operasi simulasi. Sebagai contoh, anda boleh menggunakan kod berikut untuk mencetuskan peristiwa klik butang dengan id btn.
$('#btn').trigger("klik");
Dengan cara ini, apabila halaman dimuatkan, kesan yang diingini akan dikeluarkan serta-merta. Anda juga boleh terus menyingkat click() untuk mencapai kesan yang sama:
$('#btn').klik();
Cetuskan acara tersuai
Kaedahcetus() bukan sahaja boleh mencetuskan acara dengan nama yang sama yang disokong oleh penyemak imbas, tetapi juga mencetuskan acara dengan nama tersuai. Contohnya, untuk mengikat acara "myClick" pada elemen, kod JQuery adalah seperti berikut:
$('#btn').bind("myClick", function(){ $('#test').append("<p>我的自定义事件.</p>"); });
Untuk mencetuskan acara ini, anda boleh menggunakan kod berikut:
$('#btn').trigger("myClick");
Lulus data
Kaedahtrigger(type[,data]) mempunyai dua parameter Parameter pertama ialah jenis peristiwa yang akan dicetuskan, dan parameter kedua ialah data tambahan yang akan dihantar ke fungsi pemprosesan acara, yang dihantar dalam bentuk. tatasusunan. Anda biasanya boleh membezakan sama ada peristiwa ini dicetuskan oleh kod atau pengguna dengan menghantar parameter kepada fungsi panggil balik.
Berikut ialah contoh menghantar data.
$(function(){ $('#btn').bind("myClick", function(event, message1, message2){ $('#test').append( "<p>"+message1 + message2 +"</p>"); }); $('#btn').click(function(){ $(this).trigger("myClick",["我的自定义","事件"]); }).trigger("myClick",["我的自定义","事件"]); })
Lakukan tindakan lalai
Selepas kaedah pencetus() mencetuskan peristiwa, operasi lalai penyemak imbas akan dilakukan. Contohnya:
$("input").trigger("focus");
Kod di atas bukan sahaja akan mencetuskan peristiwa fokus yang terikat pada elemen d5fd7aea971a85678ba271703566ebfd tetapi juga menyebabkan elemen d5fd7aea971a85678ba271703566ebfd itu sendiri mendapat fokus (ini ialah operasi lalai penyemak imbas).
Jika anda hanya mahu mencetuskan acara fokus terikat tanpa melakukan operasi lalai penyemak imbas, anda boleh menggunakan kaedah lain yang serupa dalam jQuery - kaedah triggerHandler().
$("input").triggerHandler("focus");
Kaedah ini akan mencetuskan peristiwa tertentu yang terikat pada elemen d5fd7aea971a85678ba271703566ebfd dan pada masa yang sama membatalkan operasi lalai penyemak imbas untuk acara ini, iaitu, kotak teks hanya akan mencetuskan acara fokus terikat dan tidak akan menerima fokus.
Saya harap artikel ini akan membantu pengaturcaraan jQuery semua orang.