【问题标题】:Fire JavaScript event with custom parameter and catch it with jQuery使用自定义参数触发 JavaScript 事件并使用 jQuery 捕获它
【发布时间】: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 的页面本身的情况下获取自定义参数数据?

【问题讨论】:

标签: javascript jquery custom-events


【解决方案1】:

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

e.originalEvent.custom

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

【讨论】:

  • 编辑必须至少有 6 个字符。显然 1 个字母和 5 个空格不算在内。
  • 当你是所有者时它会这样做;)谢谢你的提示。
猜你喜欢
  • 2015-07-06
  • 1970-01-01
  • 2013-06-16
  • 2012-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
相关资源
最近更新 更多