嗯 - 我使用ASP.NET MVC使用jQuery。我不是使用部分视图(ascx)的这部分应用程序,而是我唱全视图,但将它们加载到div。所以我有一个主视图,头部带有一个对这个“类型”视图的客户端逻辑的js文件的引用。当点击这个视图上的一些标签时,我们使用jquery选项卡将antoher视图加载到某个div中。使用这个插件加载标签的方式是简单地给一个url(而不是使用加载 - 正如我指出的那样 - 我可以添加一个回调函数而不是依赖就绪)。
但是,我不希望所有的客户端逻辑都在某些父视图中,因为任何视图都应该能够通过url加载另一个视图(子视图包含指向其相关js文件的链接,其中包含加载时格式化/连接的所有逻辑)。
现在我真的很困惑的是,它似乎在某些情况下工作,而不是在其他情况下工作;例如1)当在IE中的一个框架中打开父视图时,从属触发器从不被触发2)当在IE中直接打开相同的URL时,子视图被读取器触发3)当在FFX2中打开相同的URL时准备好每一个都不会触发4)最后..但是当在FFX2中打开这个父视图的子视图(它具有子视图)时,子触发器准备好了!..令人困惑的..
我要运行一些测试n回到ya,关于为什么这种行为可能会有所不同的建议,将不胜感激
更新:啊哈!..看起来像甚至与上述障碍清除,有浏览器的差异(显然从上面的阅读)..下面的简单测试工程在IE7罚款,但在FFX2失败。就绪事件在IE中触发,但在将Test2.htm加载到Test1.htm时不会触发FFX。根据我的经验,我知道这意味着IE有一个“怪癖”,FFX正如你所期望的那样基于W3C。所以它看起来像这样的做法是不,不,除非任何人有任何建议?:
Test1.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" language="javascript" src="Scripts/jquery-1.3.2.js"> </script>
<script type="text/javascript" language="javascript">
<!--
$(document).ready(function() {
alert("Test1.htm");
$("#Test1").load("Test2.htm");
});
//-->
</script>
</head>
<body>
<h3>SOME TEST</h3>
<div id="Test1">EMPTY</div>
</body>
</html>
Test2.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" language="javascript" src="Scripts/jquery-1.3.2.js"> </script>
<script type="text/javascript" language="javascript">
<!--
$(document).ready(function() {
alert("Test2.htm");
//$("#Test1").load("Test3.htm"); // load more
});
//-->
</script>
</head>
<body>
<h3>SOME TEST</h3>
<div id="Test2">EMPTY</div>
</body>
</html>
这是MS阿贾克斯,不是jQuery的,并通过'PageRequestManager'判断我敢肯定它仅适用于ASP.NET WebForms的。 – Aaronaught 2011-09-16 15:46:40
了解,但如果你看AH先生提供的答案,他表示他使用ASP.NET。我提供了一种弥补.NET部分页面加载的差距,解决他想要的任何JS函数(jQuery就绪事件或其他)的方式。 – 2011-09-16 16:28:10