jquery - 从父框架的 iframe 内的元素上触发事件处理程序

标签 jquery iframe event-handling

我有一个 html 页面。在其中我使用 jQuery 在链接上附加单击事件。然后我使用 iframe 从另一个页面引用这个 html 页面。但是,我无法使用 js 触发该链接上附加的事件(当我用鼠标单击该链接时,该事件会毫无问题地触发)。如何从父框架触发该事件?我已尝试以下方法,但不起作用:

var frame = $('#mainFrame'); // the iframe I am trying to access
var link = $('a.btn', frame.contents()); // the element is found correctly
link.trigger('click');  // nothing happens. 
var e = link.data('events');  // e is undefined. 

最佳答案

以下是具体操作方法。

document.getElementById('ifrmMsg').contentWindow.$('a:first').trigger('click');

您还可以使用postMessage()以此目的。它也可以跨域工作。但是iframe内部的JS必须监听message事件,即需要控制iframe的来源。

关于jquery - 从父框架的 iframe 内的元素上触发事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032074/

相关文章:

javascript - 使用 jQuery 设置链接悬停属性

php - 使用 jQuery 从多个表单字段创建 JSON 对象

javascript - 使用 pdf.js 防止 idm 自动下载 PDF

qt - 处理按键事件 Ctrl+Tab 和 Ctrl+Shift+Tab

jquery - 在 jquery ui 选项卡中使用蓝图 css

jquery - 如何创建 jquery cookie?

javascript - 如何检查 iframe 是否为空/空/未定义?

javascript - 跨域 iframe 小部件设计(最先进的方法)

event-handling - $.event.trigger 未在非 DOM 对象中触发

jquery - 确定事件之外的鼠标位置(使用 jQuery)?