Rumah >pembangunan bahagian belakang >C++ >Mengapa Peristiwa Klik Butang ASP.NET Saya Tidak Dicetuskan dalam Dialog UI jQuery?
Menyelesaikan masalah ASP.NET Butang Klik Peristiwa Dalam Dialog UI jQuery
Artikel ini menangani masalah biasa: butang ASP.NET dalam Dialog UI jQuery gagal mencetuskan pengendali acara klik sebelah pelayan mereka. Malah mengalihkan pembahagian dialog ke dalam borang tidak menyelesaikan isu.
Memahami Masalah
Punca utama selalunya merupakan isu penutupan dalam kod jQuery. Apabila mencipta dialog menggunakan jQuery("#dialog").dialog({...})
, objek jQuery yang mewakili dialog terperangkap dalam penutupan. Percubaan untuk memanipulasi dialog selepas itu, seperti jQuery("#dialog").parent().appendTo(jQuery("form:first"))
, gagal kerana objek yang betul tidak dirujuk.
Penyelesaian: Rujukan Objek yang Betul
Penyelesaian melibatkan penyimpanan objek dialog jQuery dalam pembolehubah di luar skop penutupan. Ini membenarkan akses dan manipulasi berterusan selepas dialog dibuat. Inilah kod yang diperbetulkan:
<code class="language-javascript">jQuery(function() { var dlg = jQuery("#dialog").dialog({ draggable: true, resizable: true, show: 'Transfer', hide: 'Transfer', width: 320, autoOpen: false, minHeight: 10, minWidth: 10, }); dlg.parent().appendTo(jQuery("form:first")); });</code>
Dengan memperuntukkan objek jQuery kepada pembolehubah dlg
, operasi seterusnya pada elemen dialog, termasuk yang penting untuk kefungsian postback, akan menyasarkan dialog dengan betul, membolehkan pengendali acara klik butang sebelah pelayan berfungsi seperti yang diharapkan.
Atas ialah kandungan terperinci Mengapa Peristiwa Klik Butang ASP.NET Saya Tidak Dicetuskan dalam Dialog UI jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!