JQuery删除iframe中的事件处理程序

时间:2015-01-14 17:44:59

标签: javascript jquery events iframe

我需要删除iframe中的事件处理程序,并使用JQuery 1.7.1将其替换为另一个事件处理程序。

我现在应该使用.off(事件)。但是,它不能在iframe中工作,只能在单个文档中使用。

示例:

iframe(#iframe)是:

$('#div').on('click', doSomething);

在父文件中是:

$('#iframe').contents().find('#div').off('click').on('click', doSomethingElse);

这会添加新事件,但是,它不会删除原始事件。

有什么想法吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用iframe窗口的jQuery运行off(),该jQuery可通过contentWindow访问。这样的事情对我有用:

var iframeWindow = $('iframe').eq(0)[0].contentWindow; iframeWindow.$(iframeWindow).off();

答案 1 :(得分:-1)

iframe是否包含外部资源?然后它是不可能的,因为:Same-origin policy