自定义属性事件不起作用

时间:2013-01-10 15:07:49

标签: javascript javascript-events dispatchevent custom-events

我使用以下代码拦截iframe中的所有点击事件:

$(doc.body).on("click", function(e) {
    if (e.from === undefined) {
        e.preventDefault();
        e.stopPropagation();
        interceptEvent(e);
    }
}

interceptEvent(e)发送XML消息(带有原始e.target的路径) 该消息(在另一个浏览器上)由函数

捕获
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,我错在哪里?

1 个答案:

答案 0 :(得分:1)

似乎你使用jQuery,对吧?

jQuery事件没有来自的属性,并且只规范化以下事件属性:

  • relatedTarget
  • pageX属性
  • pageY
  • ,其
  • metaKey

如果要使用事件传递自定义属性,则需要使用jQuery本身触发自定义事件。 http://api.jquery.com/category/events/event-object/或使用event.originalEvent

访问原始活动