我正在查看一个我正在维护(但没有编写)的asp.net 2 web应用程序。
一些在页面加载时应该发生的事情并没有发生,但只是偶尔发生,如果你在虚拟机中使用Firefox3,似乎是这样的。使用了JQuery和asp.net Ajax。
下面的Javascript附加了每次都应该运行(但没有运行)的重要函数:
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){ Sys.Application.add_load(ImportantFunction); });
$(document).ready(function(){ Otherstuff(); });
$(document).ready(function(){ MoreStuff(); });
//]]>
</script>但是,如果我使用firebug在ImportantFunction()中设置断点,在Firefox3中页面加载时不会命中断点,但在ajax更新时会命中断点。
在页面中有多个对$(document).ready的调用,因为它们来自于它背后的asp.net代码的不同部分。是的,它们都是执行的。
发布于 2009-01-06 12:55:34
您正在使用jQuery附加一个" load“方法,然后该方法又附加一个load事件,我认为这就是您的问题所在。
$(document).ready和Sys.Application.add_load几乎是一样的,至少我是这么理解的。不过,我真的不确定浏览器将以哪种顺序执行它们。
我建议删除ImportantFunction上的Sys.Application.add_load包装器调用,这样您就不会尝试附加到已经触发的事件堆栈。
https://stackoverflow.com/questions/416363
复制相似问题