我有一些常用的函数,我把它折叠到CommonFunctions.js
的脚本文件夹中。
我将它包含在我的母版页上,并在我的页面上使用它。当我在页面上返回任何帖子时,我的函数不起作用。
我的CommonFunctions.js
$(function () {
gf();
if (Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack()) {
gf();
}
function gf(){
$('.AddNewGeneralPanel').click(function () {
if ($(this).find('.AddNewGeneralPanelStyle').text() == "") {
$(this).find('.AddNewGeneralPanelStyle').text("( Gizle )");
lastOpenId = $(this).attr("codeid");
}
else
$(this).find('.AddNewGeneralPanelStyle').text("");
$(this).next('.AddNewGeneralAccordionDiv').slideToggle('slow', function () {
});
});
}
});
发布于 2012-03-15 19:58:06
由于您使用的是UpdatePanel
,因此DOM中附加了事件处理程序的部分将在回发后被删除并重新创建。这将删除首次加载页面时由jQuery附加的任何事件处理程序。
当您只回发页面的一部分时,jQuery $(function() {});
不会再次触发,因此您的处理程序永远不会重新附加。
这是一个related question,它展示了如何在UpdatePanel
刷新时重新订阅事件。
发布于 2012-03-15 20:01:59
这是因为updatepanel部分回发。这是你需要做的。
function pageLoad(sender, args)
{
$(document).ready(function(){
// put all your javascript functions here
});
}
我也有同样的问题,这对我很有效。我希望这对你也有帮助。
发布于 2015-04-01 01:10:57
这是因为使用了updatepannel
。下面的代码运行良好。只需将jquery
代码放在pageLoad
事件中,如下所示
function pageLoad(sender, args) {
$(document).ready(function () {....}
}
https://stackoverflow.com/questions/9719078
复制相似问题