繁体   English   中英

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

[英]Fire JavaScript event with custom parameter and catch it with jQuery

我目前正在从页面本身到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的页面本身的情况下获取自定义参数数据?

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

e.originalEvent.custom

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM