使用jQuery在iframe中的元素上附加click处理程序

如何将单击事件处理程序附加到iframe内的元素?

这是我尝试过但不起作用的东西:

$("#parent iframe").contents().find("a").live("click", function () { alert ("test"); return false; }); 

iframe位于同一个域中。

发现了这个问题。 LIVE在iframe中不起作用。 切换到绑定工作正常。 将代替手动事件委派。

基本上可能没有猜测内容可能来自不同的域(通常使用iFrames)。 这些文章解释了原因:

iframe和跨域安全 跨域Ajax不安全

或者,您将需要修改iFrame中的源代码(如果您可以控制它),或者您可以要求用户降低其浏览器安全性(可能在Intranet上可能,但即使这样也不是一个好主意)。