<script>
!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');
</script>
//this the jquery I'm using
<script type="text/javascript" src="jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
//the function calls the query
$(document).ready(function x() {
/*
* Examples - images
*/
//set the position of title on image
$("a#example7").imagebox({
'titlePosition': 'inside'
});
});
</script>
问问题
197 次
1 回答
0
在 updatepanels 的异步页面回发期间,$(document).ready 函数不会被触发,因此必须以其他方式执行 $(document).ready 的代码。
您可以执行以下两种方式中的任何一种:
第一种方式:
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args) {
//do any action that you want to be executed before postbacks
}
function EndRequest(sender, args) {
$("a#example7").imagebox({
'titlePosition': 'inside'
});
}
</script>
第二种方式,即使用 RegisterStartupScript:
<script type="text/javascript">
function CreateImageBox() {
$("a#example7").imagebox({
'titlePosition': 'inside'
});
}
</script>
在 c# 代码中使用:
ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanelTab.GetType(), "createimagebox", "CreateImageBox();", true);
于 2013-03-01T11:22:31.603 回答