有很多開源的JS框架回合updatepanel產生沖突導致失效或者直接崩潰.
這回書講的就是當updatepanel和lightbox相遇時該怎麼辦!
這次要做一個相冊,用到了updatepanel做不刷新的相冊翻頁,但是相冊的展示效果是用lightbox這個開源框架實現的.結果做完了以後才發現,只要updatepanel一更新lightbox的效果就會消失,在網上找了半天也沒見到過同樣問題的人.看來就我一個人沒事用這兩個東西.呵呵.還好解決了.下面說一下解決的方法,希望可以幫助到大家.
其實也非常簡單,稍微測試一下就會發現updatepanel回發回來的數據內容是對的."rel=''lightbox''"這個標簽還在,所以可以肯定不執行的原因就是出在了JS和updatepanel的沖突上,去看了一下lightbox的幫助文檔,發現一個類似的問題
<body onload="MM_preloadImages(‘/images/menu_on.gif’)…;">
initLightbox()
到 onload 屬性, 如下:<body onload="MM_preloadImages(‘/images/menu_on.gif’)…;initLightbox()">
於是我就做了個實驗,每次在updatepanel更新的時候在頁面注冊一下initLightbox()這個函數
結果問題迎刃而解,在運行不管如何更新updatepanle,lightbox都可以正常執行了.具體因為什麼失效沒有深入研究,呵呵,因為我比較懶.第一次寫文章有點亂,大家湊合看吧.