2009-12-18 48 views
0

我有一个ASP更新面板,在该面板中我有一些控件,它们有jQuery效果连接到它们。在Firefox中的ASP回发后jQuery效果消失

该效果在posback之前完美工作,回发后效果只能在IE中工作而不在FF中。 为了得到它工作在IE添加以下到我的母版:

function pageLoad(sender, args) { // Initialize jQuery effects. }

有了这个代码,它工作在IE浏览器,但在FF BOT,任何人有一个答案吗?

回答

2

您需要在UpdatePanel完成加载后重新绑定您的效果。您可以通过添加以下代码实现的是:

<script type=”text/javascript”> 

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm.add_pageLoaded(panelLoaded); 

function panelLoaded(sender, args){ 

    // Rebind your elements/effects here. 

} 

</script> 
+0

他的使用功能,页面加载时,会自动由PageRequestManager每个局部回传(当页面最初加载过)后调用。 – 2009-12-18 21:22:23

+0

关键的区别是(并不知道如果这是真的),向pageLoaded事件添加函数将确保内容完全加载,然后试图绑定到元素。我相信页面加载时会调用pageLoad函数。 – a432511 2009-12-18 21:24:47

+0

pageLoad是操作更新的DOM的安全时间。该文档暗示该页面负载显着提前,但它们具有可比性。此演示帮助:http://www.asp.net/ajax/documentation/live/Samples/ClientEventExample1/cs/Default.aspx – 2009-12-22 00:32:05

0

pageLoad快捷键肯定在Firefox中的工作方式与IE中的相同。仔细检查你是否没有任何JavaScript错误只是在Firefox中投入。