2

我目前正在从页面本身到 iframe 文档触发自定义 JavaScript 事件:

// Create iframe
var iframe = document.createElement('iframe');
iframe.setAttribute('src', 'URL to load');
document.body.appendChild(iframe);

// Event itself
var event = document.createEvent('HTMLEvents');
event.custom = 'example param';
event.initEvent('custom', false, true);
iframe.contentWindow.window.document.dispatchEvent(event);

现在在这个 iframe 页面上,我可以使用 jQuery。我如何捕捉事件(有效)并且(重要)获取自定义(对象)参数?

像这样捕捉它:

$(document).on('custom', function(e, param) {
    alert(e); // [object Object] -> normal jQuery event data without any special data
    alert(e.custom); // undefined
    alert(param); // undefined
});

如何在不将 jQuery 添加到包含 iframe 的页面本身的情况下获取自定义参数数据?

4

1 回答 1

1

jQuery 包装了原始的 DOM 事件。原始事件应该可以通过originalEventjQuery 事件的属性获得。

e.originalEvent.custom

应该评估您的自定义值,在这种情况下'example param'

于 2013-09-09T02:21:52.750 回答