如何將點擊事件處理程序附加到iframe中的元素?甚至在iframe中使用jQuery的元素附加點擊處理程序
這裏是我的嘗試並不起作用:
$("#parent iframe").contents().find("a").live("click", function() {
alert ("test");
return false;
});
的iframe是在同一個域。
如何將點擊事件處理程序附加到iframe中的元素?甚至在iframe中使用jQuery的元素附加點擊處理程序
這裏是我的嘗試並不起作用:
$("#parent iframe").contents().find("a").live("click", function() {
alert ("test");
return false;
});
的iframe是在同一個域。
發現問題。 LIVE在iframe內不起作用。切換到綁定工作正常。將代替手動事件委派。
請注意,這是遠遠不夠的唯一的問題,你將試圖腳本一個窗口/框架與生活在一個不同的jQuery的副本。對於任何複雜的事情,您都需要在兩個框架中加載jQuery的副本。 jQuery針對方便的單窗口腳本進行了優化,而不是跨窗口腳本(這本質上更復雜,jQuery與否)。 – bobince 2009-11-01 00:42:49
基本上可能不是猜測內容可能來自不同的域(通常使用iFrames)。這些文章解釋了爲什麼:
iframes and cross domain security Cross-Domain Ajax Insecurity
另外,您將需要修改源代碼中的iFrame(如果你擁有控制權),或者你可以要求用戶減少他們的瀏覽器安全性(也許是可能的在內聯網上,但即使這樣也不是一個好主意)。
這是在同一個域名上,但我會感謝你說它應該工作,我會再看一遍。 – Jourkey 2009-10-31 23:20:44
只要主頁面和iframe來自同一個域,您的代碼就會工作。 – 2009-10-31 23:16:12