2011-09-08 40 views
1

我知道,在deleate我需要首先獲取上下文選擇,如:我可以在jQuery中使用委託代理未來的conext元素嗎?

$("#Mydiv").delegate(... 

但如果我連不要有 $(「#Mydiv」)?

如果​​應該來自服務器在未來的時間怎麼辦?

如果我把它現在在頁面上,將它在未來工作時$(「#Mydiv」)將在阿賈克斯來自療法服務器?

回答

2

你想要的是$("#MyDiv").live('click', function() {})

通過將所有事件綁定到文檔元素來實時工作,以便在事件通過DOM向上滾動後處理事件。在引擎蓋下,.live()實際上只是調用$(document).delegate("#MyDiv", 'click', function() {})

+0

所以如果容器不存在於我的頁面 - 沒有使用委託的要點...是否正確? –

+1

正確。 '.delegate()'通過綁定到一個對象來工作。如果該對象不存在,委託將無法工作。 '.live()'通過委託給'document'對象來保證可用。 – Chris

1

我想你想使用.live()如果#MyDiv根本不存在。或者在頁面上始終存在的另一個元素上進行委派。

相關問題