我使用以下代码拦截 iframe 中的所有点击事件:
$(doc.body).on("click", function(e) {
if (e.from === undefined) {
e.preventDefault();
e.stopPropagation();
interceptEvent(e);
}
}
发送一条 XML 消息(带有原始 e.target的interceptEvent(e)
路径)该消息被以下函数捕获(在另一个浏览器上):
if (document.createEvent) { //Netscape
var evt = document.createEvent("HTMLEvents");
evt.initEvent(value, false, true);
evt.from = 'trigger'; //trigger for recognize a XML programmatically event
return !$('.browser').contents().find(path)[0].dispatchEvent(evt);
}
此函数的目标是复制事件。为了避免循环(拦截在其他浏览器上也处于活动状态),我添加到dispatchedEvent
属性“from”。
尽管如此,e.form
总是undefined
,我错在哪里?