我有包含用戶控件的頁面也包含其他用戶控件。 我有這個結構與事件和頁面渲染堆棧相同的問題。爲了解決這個問題,我將用戶控件特定的事件管理放在一個單獨的.js文件(如mycontrol.js)中,並在.ascx文件中引用該.js文件(將鏈接放在該文件中)。
我也有一種情況,我沒有用戶控件呈現,直到放置在標記(一個子控件)內,因此事件不能放在那個點上。我這樣處理,通過加載用戶控制JavaScript我的JavaScript中這樣的:
用戶控件和用戶控件內鏈接
/* function to allow inclusion of other files
Included this way to allow addition AFTER the page renders the control - that is, fake inclusion in this file
*/
function includeJS(jsPath)
{
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", jsPath);
document.getElementsByTagName("head")[0].appendChild(script);
};
includeJS('Js/secondusercontrol.js');
- 單獨的腳本代碼
- 使用腳本,如果延遲是一個問題
包含.js文件
- 把所有 「基地」 腳本和全局對象(如果需要)的頁面.js文件內
- 使用.live()和.delegate()
編輯:我可以爲你工作的另一個選項我最初忘記了使用.live()
和/或.delegate()
功能。
是的,那裏也是:)我在某些情況下通過使用類而不是id來解決這個問題。 – 2010-10-22 14:17:27
你似乎是正確的一切改爲:filter1_嗯,吸太:) – Mikael 2010-10-22 15:50:27
如果您使用jquery髒修復將使用$(「[id $ = lala]」)而不是$(「#lala」)在您的選擇器 – bevacqua 2010-10-22 16:00:51