使用自定义参数触发JavaScript事件并使用jQuery捕获它

时间:2013-09-09 01:15:50

标签: javascript jquery custom-events

我正在尝试从页面本身到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
});

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

1 个答案:

答案 0 :(得分:1)

jQuery包装原始DOM事件。原始事件应该通过jQuery事件的originalEvent属性提供。

e.originalEvent.custom

应评估您的自定义值,在本例中为'example param'