可以使用PageRequestManager对象的beginRequest事件和endRequest事件,在beginRequest事件中保存当前的样式值,在endRequest事件中恢复保存的样式值。示例代码如下:
var savedStyleValue; // 保存改变前的样式值
function beginRequestHandler(sender, args) {
savedStyleValue = $("#myElement").css("background-color"); // 保存改变前的样式值
}
function endRequestHandler(sender, args) {
$("#myElement").css("background-color", savedStyleValue); // 恢复保存的样式值
}
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
其中,myElement
表示需要改变样式值的元素ID,beginRequestHandler
和endRequestHandler
分别为beginRequest事件和endRequest事件的处理函数。在beginRequest事件中,通过css
方法获取当前样式值并保存到savedStyleValue
变量中;在endRequest事件中,将savedStyleValue
变量中保存的样式值设置回原来的元素中。这样,即使AutoPostBack也会初始化js中改变的样式值,也可以通过这种方法保持样式值的连续性。