2011-01-27 21 views
0

我有一個突出顯示錶單字段JavaScript,它鏈接在我的filea.php的頭部。我正在加載另一個名爲fileb.php的文件,其中有一個表單。現在,雖然filea.php已經引用外部JavaScript代碼中的突出顯示錶單字段代碼,但是當選擇時,加載頁面的字段不會很亮,即js對加載的頁面沒有任何影響。爲什麼JavaScript沒有在通過jQuery的.load()函數加載的頁面上工作?

如果我在加載的頁面本身引用外部js文件,它工作正常。但爲什麼我必須?例如,在fileb.php中沒有引用css,但是該頁面上的表單根據filea.php中引用的樣式表進行了樣式設置。爲什麼腳本不一樣?

p.s.我在執行.load函數之前加載外部js文件,所以不應該成爲問題。

+0

您可以鏈接到一個活生生的例子? – sdleihssirhc 2011-01-27 05:28:24

回答

0

大膽猜測:當你在filea.php的JavaScript加載並運行,在fileb.php的HTML不存在這樣的JavaScript不能用它做任何事情。你也許能夠使用.live().delegate()接線的事情了,否則,你必須執行在您使用回調​​用手HTML JavaScript的:

$(stuff).load('fileb.php', function() { 
    // The new HTML has been loaded into "stuff" 
    // so you can run the JavaScript to bind whatever 
    // it is that you're doing to the new HTML elements. 
}); 

如果你正在做不只是添加一個事件處理程序,然後.live().delegate()可能無法正常工作,您將不得不使用上述​​上的回調。

延伸閱讀:

相關問題