使jQuery 事件綁定適應UpdatePanel 更新
由於部分頁更新期間會取代元素,因此在UpdatePanel 中合併jQuery 事件處理會帶來挑戰.
使用$(document).ready進行初始綁定變為 不足的。如問題中所述,更新後「它不再運行,滑鼠懸停效果在 UpdatePanel 內不再起作用」。
推薦方法:利用 PageRequestManager
要解決此問題,建議每次UpdatePanel更新後再次訂閱事件。透過 PageRequestManager 存取的 ASP.NET ajax 生命週期提供了一個解決方案。
以下程式碼說明了此方法:
$(document).ready(function() { // bind jQuery events initially }); var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function() { // re-bind jQuery events });
如果存在 UpdatePanel,則可以存取 PageRequestManager,它提供了 endRequest更新完成時觸發事件。此事件允許重新綁定 jQuery 事件。
替代選項:jQuery .on()
根據情況,jQuery 的 .on() 方法可能會提供更有效的替代方案。 .on() 允許綁定到元素的容器,從而避免每次更新時都需要重新綁定。然而,重要的是要考慮這種方法的局限性並確保其適合您的特定需求。
以上是ASP.NET UpdatePanel 更新後如何維護 jQuery 事件綁定?的詳細內容。更多資訊請關注PHP中文網其他相關文章!