2010-03-16 48 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保留在單獨的文件中,以便維護更容易,然後使用另一個'

相關問題