首頁 > 後端開發 > C++ > 為什麼我的 ASP.NET 按鈕點擊事件沒有在 jQuery UI 對話框中觸發?

為什麼我的 ASP.NET 按鈕點擊事件沒有在 jQuery UI 對話框中觸發?

DDD
發布: 2025-01-19 14:06:08
原創
750 人瀏覽過

Why Aren't My ASP.NET Button Click Events Firing in a jQuery UI Dialog?

對 jQuery UI 對話框中的 ASP.NET 按鈕點選事件進行故障排除

本文解決了一個常見問題:jQuery UI 對話方塊中的 ASP.NET 按鈕無法觸發其伺服器端點擊事件處理程序。 即使將對話框的 div 移到表單中也無法解決問題。

理解問題

根本原因通常是 jQuery 程式碼中的關閉問題。 使用 jQuery("#dialog").dialog({...}) 建立對話框時,表示對話框的 jQuery 物件被捕獲在閉包內。 隨後嘗試操作對話方塊(例如 jQuery("#dialog").parent().appendTo(jQuery("form:first")))會失敗,因為未引用正確的物件。

解:正確的物件參考

解決方案涉及將 jQuery 對話方塊物件儲存在閉包範圍之外的變數中。這允許在創建對話框後繼續存取和操作。 這是修正後的程式碼:

<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>
登入後複製

透過將jQuery 物件指派給dlg 變量,對話框元素上的後續操作(包括對於回發功能至關重要的操作)將正確定位對話框,從而使伺服器端按鈕單擊事件處理程序能夠按預期運轉。

以上是為什麼我的 ASP.NET 按鈕點擊事件沒有在 jQuery UI 對話框中觸發?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板