Saya mencoba untuk memahami perbedaan tertentu antara langsung dan didelegasikan event handler menggunakan jQuery .on () metode . Secara khusus, kalimat terakhir dalam paragraf ini:
Ketika a
selector
disediakan, pengendali acara disebut sebagai didelegasikan . Pawang tidak dipanggil ketika peristiwa terjadi langsung pada elemen terikat, tetapi hanya untuk keturunan (elemen dalam) yang cocok dengan pemilih. jQuery mem-gelembung-kan event dari target event hingga ke elemen di mana handler dilampirkan (yaitu, elemen terdalam ke terluar) dan menjalankan handler untuk elemen apa pun di sepanjang jalur yang cocok dengan pemilih.
Apa yang dimaksud dengan "menjalankan penangan untuk elemen apa pun"? Saya membuat halaman pengujian untuk bereksperimen dengan konsep itu. Tetapi kedua konstruksi berikut mengarah pada perilaku yang sama:
$("div#target span.green").on("click", function() {
alert($(this).attr("class") + " is clicked");
});
atau,
$("div#target").on("click", "span.green", function() {
alert($(this).attr("class") + " is clicked");
});
Mungkin seseorang dapat merujuk pada contoh berbeda untuk memperjelas hal ini? Terima kasih.