1

我需要拦截页面上触发的所有事件并阻止它们;然后我想将 XML 消息发送到将返回多个客户端的 servlet。一旦收到消息,事件就会正常运行。

所以我有两个问题:拦截并停止所有事件,然后触发事件延迟。

要侦听页面上任何元素的点击,我想我会在 $(document) 上添加一个“点击”侦听器,它构成正确的 XML 消息:但这样我就拦截了冒泡顶层的事件!

  1. 如果我在这里写一个 preventDefault/stopPropagation 方法,它是在事件执行之后执行的吗?我怎样才能停止活动?
  2. event.target 方法返回的是文档元素还是最初触发事件的元素?

然后,如果我使用目标和事件类型编写 XML 消息,当客户端接收到消息并以编程方式触发它时,这可以释放循环吗?

更新:第二个问题的答案由http://www.quirksmode.org/js/events_properties.html给出 :

即使某个事件被捕获或冒泡,目标/srcElement 始终保持在该事件上发生的元素。

4

1 回答 1

2

要确定哪个元素触发了事件,请在事件回调中使用:

console.log("LOG|Event> " + "target: " + event.target);
if(event.target.id) {
    console.log("LOG|Event> " + "target.id: " + event.target.id);
}

对于跨浏览器,请参考:

http://www.quirksmode.org/js/events_properties.html

于 2013-01-05T17:44:27.040 回答