我的这个设置有点问题,我有一个.ascx
文件列表,它们在控制器本身的计算方面都做了不同的任务。因此,在我的.aspx
页面上,我单击一个,这将根据我单击的项目Ajax.ActionLink()
呈现该特定文件。.ascx
其中.ascx
有 1-3 个事件将触发其中 2 个是onclick
events,1 个是onload
. 这些onclick
事件更容易使用,因为我可以像这样直接在控件事件中对其进行硬编码,onclick="$("#toggleMe3").slideToggle("slow");"
并且onload
必须在.ascx
加载时运行我正在$(document).ready(function(){});
调用中测试它,这在.aspx
页面中可以正常工作,但只要我尝试将其添加到.aspx
页面没有加载,它是理想的,但我不知道为什么不。事实上,如果我直接插入到.ascx
页面中,脚本标签中的任何内容都不起作用,它们只有在硬编码到控件的事件中时才起作用,至少其中一些;并且不要开火onload
。onprerender
问问题
9659 次
3 回答
1
我在通过 XHR 加载的部分中使用 $(document).ready 取得了成功。您通过 XHR 加载的视图是否会引发 JavaScript 异常?或者它们是否包含格式错误的 HTML?
我通常在我通过 Ajax 加载的部分底部有我的 $(document).ready 方法,比如......
<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>
于 2009-05-12T18:53:19.323 回答
1
我很难理解你的问题......但它就在这里。
如果您使用 AJAX 调用加载日期,$(document).ready() 事件将不会触发——因为页面已经加载。您现在只是在加载更多数据。
如果您已经知道控件会出现什么,请预加载 JavaScript,但不要仅使用 click 事件处理程序进行绑定,而是使用实时处理程序。
所以
$("#myControl").click(....);
变成
$("#myControl").live("click", ....);
抱歉,如果这不是您要找的。
于 2009-05-12T19:13:45.437 回答
1
在 $(document).ready 中指定的部分回发脚本未执行后,我遇到了同样的问题。我在这里找到了解决方案MSDN - PageRequestManager Class
看起来像添加如下脚本可以解决问题
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>
于 2011-03-29T16:54:36.740 回答