嘿所有,这更像是一个标准和结构问题。
考虑这个.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>
内被监禁,并且如果它试图活在它之外就会遭到恶意殴打。
我看到了几个帖子,但没有一个明确解释这是否是解决此问题的最佳方法。
请告诉我。 〜谢谢
答案 0 :(得分:1)
我认为你要找的是jQuery的live()
方法。有了它,您可以使用特定选择器将事件绑定到所有当前和未来元素。这意味着您可以将所有javascript保留在头部,而不必担心每次向DOM添加新元素时绑定和重新绑定。
你可以在myfunctions.js
,
$('.new_or_old').live('mouseover', function(){
myFunction();
});
并且每个具有“new_or_old”类的元素都会在鼠标悬停时调用myFunction(),即使它是在原始页面加载后插入的。