2010-09-21 26 views
0

 我已经开始研究一个动态加载所有不同页面内容的项目。
表面上看起来这似乎很简单,一个AJAX调用脚本返回放置在DIV中的内容。除了不仅返回HTML而且还返回JS。我看到很多像这样的东西: -
在动态加载的内容中执行JS

<img src="spacer.gif" height="1" width="1" onload="SOMEJSHERE"/>

点在代码中执行JS函数。这不提供我使用JQuery喜欢的那种HTML/JS代码分离。
 我可以理解他们不想一次加载所有的JS和HTML,有很多它......但是这只是感觉不到最好的方式。

请提供一些经验和建议吗?

Lyle

+0

我不明白你为什么不能将js与那个元素分开...... – sheeks06 2010-09-21 01:28:53

+0

你是什么意思“将JS与元素分开”? – Cosmicnet 2010-09-21 01:40:37

回答

0

最后我使用了JQuery UI中的tabs.select选项(我们用于ajaxed页面),并根据需要执行相应的JS。

0

嘿我使用“eval”来动态执行js。

例如

<script> 
var strjs = 'function execute(){alert("foobaring");} execute();'; 

eval(strjs); 

</script> 
+0

是的,我想我可以让AJAX分别返回HTML和JS,然后只是评估JS ......但那是理想吗? – Cosmicnet 2010-09-21 01:50:34

1

看看jQuery .live()事件。它可以将行为(事件绑定)应用于页面上当前所有和未来元素,它们与给定的选择器匹配。

这意味着您新加载的HTML不需要包含任何脚本。只要确保加载的元素具有正确的选择器(类名称和ID)。