2010-03-16 121 views
0

嘿,大家,这是更多的标准和结构问题。jQuery:使用.load加载php文件

请考虑这个.load()方案。我有一个使用.load()函数将第二页加载到div的页面。

<html><head><title>My Page</title> 

<script type='text/javascript' src='myfunctions.js'></script> 

<head> 

<body> 
    <a href='#' id='click_link'>Click Me</a><br> 
    <div id='target_container> 
    </div> 
</body> 
</html> 

凡myfunction.js持有点击程序,被点击#click_link在加载页面到#target_container。现在正在加载的页面也需要访问myfunction.js。我可以再次加载它,这实际上似乎工作,或者我可以把我需要的JavaScript代码放入加载页面。这似乎也起作用。

我的抱怨是,必须有一个更好,更干净的做法。我是否在谈论这个错误?或者这是做到这一点的唯一方法。我一直认为JavaScript代码应该被关进<head></head>,如果它试图在其外面生活,就会被恶意打败。

我在这看到了几篇文章,但没有一篇关于这是否是解决这个问题的最佳方法的明确解释。

请让我知道。 〜谢谢

回答

1

我想你要找的是jQuery的live()方法。有了它,您可以使用特定的选择器将事件绑定到当前和未来的所有元素。这意味着您可以将所有JavaScript都放在首位,而不必担心每次将新元素添加到DOM时的绑定和重新绑定。

你可以写在myfunctions.js这样的事情,

$('.new_or_old').live('mouseover', function(){ 
    myFunction(); 
}); 

,并与类“new_or_old”的每一个元素将调用myFunction的()鼠标悬停,即使它原来的页面加载后插入。

+0

谢谢蒙克......我必须要这样做。如果正在加载的页面需要很多方法,这可能会非常快速地变得复杂。虽然可能没有更好的方法。我真的不能想到一个,但我是jQuery的新手。我的目标是减少代码并保持清洁和高效。 – cstrzelc 2010-03-16 02:48:37

+0

它可能,但幸运的是,您可以将加载页面的JavaScript保留在单独的文件中,以便维护更容易,然后使用另一个'

相关问题