【发布时间】:2013-09-09 01:15:50
【问题描述】:
我目前正在从页面本身向 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 的页面本身的情况下获取自定义参数数据?
【问题讨论】:
-
Document.createEvent('')已弃用——使用new Event('')或new CustomEvent('', {})可能会更好——请参阅MDN: Creating and triggering events
标签: javascript jquery custom-events