gpt4 book ai didi

.net - Javascript "function pageLoad()"与 UpdatePanel 不兼容

转载 作者:行者123 更新时间:2023-11-30 18:55:08 25 4
gpt4 key购买 nike

所以我得到了这个 UpdatePanel。在它里面,我有一个漂亮的小 jQuery 缩略图滚动画廊,它在回发以从服务器获取完整图像 URL 后在容器中显示完整图像。滚动库中的每个缩略图都是一个带有 onCommand 事件的图像按钮。

发生的事情是,当单击缩略图时,它会发回服务器并更改完整的图像容器。由于这是在更新面板中发生的,因此我使用 javascript“function pageLoad(){}”在部分回发后重新应用我的 jQuery。效果很好!每次回发后,我都不会丢失我的 jQuery 视觉效果。

问题是在我必须刷新页面之前,我只能让一个帖子恢复工作。似乎在第一次回发之后, View 得到更新,并且 pageLoad JS 触发以按预期重新初始化 jQuery。下次我单击缩略图查看它的完整 View 时,我可以看到 onCommand 事件在服务器上执行,但我的 View 没有任何反应;没有完整的图像更改,没有 pageLoad() JS 触发。没有什么。这就像回发不会进行往返,而是在服务器上处理数据后将数据发送回客户端。

不仅如此,其他更新面板也会遇到相同的效果,无论它们中是否有一个 jQuery 元素会受到我的 pageLoad() JS 的影响。第一次回发可以很好地更新面板,但随后的回发似乎什么都不做。

我认为问题出在 pageLoad() JS 上,但我不确定我遗漏了什么。

这是 应该 在每次完整或部分回发后运行的 JS 方法,这似乎让我很伤心。它位于我的 中。

<script type="text/javascript"> 
function pageLoad(){
$("div.scrollable1").unbind();
$("div.scrollable").unbind();
// initialize small scrollable.
$("div.scrollable1").scrollable({size: 1,clickable: false});
// initialize scrollable
$("div.scrollable").scrollable({size: 1,clickable: false}).mousewheel().find("a[rel]").overlay();
}
</script>

最佳答案

首先,我想建议不要使用两个不同的 javascript 库。在许多情况下,它会(正如您从问题中看到的那样)导致很难解决的问题。

但是你可以试试这个:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);
function endRequest() {
//Set your jquery stuff here.
}

我认为这会奏效。这段代码应该在任何更新面板之外,这样它就不会被重新加载。

关于.net - Javascript "function pageLoad()"与 UpdatePanel 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2381126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com