Rumah >hujung hadapan web >tutorial js >Masalah menggunakan perwakilan dalam jQuery_jquery
Saya biasa mengikat dan hidup, tetapi saya tidak biasa mewakilkan...
Sokongan untuk mengikat acara kepada elemen teg yang dijana secara dinamik mungkin secara langsung dan perwakilan, tetapi versi baharu tidak lagi menyokong secara langsung, hanya wakilkan
Delegasi benar-benar istimewa, berbeza daripada gaya mengikat acara lain.
Saya tersandung kerana saya sudah biasa dengan gaya ikatan sebelum ini.
Ringkasnya, ia adalah kecuaian.
Kaedahdelegate() menambah satu atau lebih pengendali acara pada elemen yang ditentukan (elemen anak bagi elemen yang dipilih) dan menentukan fungsi untuk dijalankan apabila peristiwa ini berlaku.
Pengendali acara menggunakan kaedah delegate() digunakan pada elemen semasa atau akan datang (seperti elemen baharu yang dicipta oleh skrip).
Tatabahasa
$(selector).delegate(childSelector,event,data,function)
Parameter | Penerangan |
---|---|
childSelector | Diperlukan. Menentukan satu atau lebih elemen anak yang mana pengendali acara dilampirkan. |
acara |
Diperlukan. Menentukan satu atau lebih acara untuk dilampirkan pada elemen. Berbilang nilai acara dipisahkan oleh ruang. Mesti acara yang sah. |
data | 可选。规定传递到函数的额外数据。 |
function | 必需。规定当事件发生时运行的函数。 |
比如这段小代码啊
<html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("div").delegate("button","click",function(){ $("p").slideToggle(); }); }); </script> </head> <body> <div style="background-color:red"> <p>这是一个段落。</p> <button>请点击这里</button> </div> </body> </html>
我老写成了
$(document).ready(function(){ $("div").delegate($("button"),"click",function(){ $("p").slideToggle(); }); });
子选择器不需要选择起来了..
不然就像我那样出现不知名的错误(点击会触发click,但点击其他元素也会触发click...)
以上所述就是本文的全部内容了,希望大家能够喜欢。