【发布时间】:2010-10-05 19:01:55
【问题描述】:
是否有来自 Javascript 事件处理程序的跨浏览器方式来确定事件是否已被先前的处理程序取消? IE 和 Chrome 等其他浏览器具有可以测试的 event.returnValue property,但 FireFox 似乎没有任何此类属性。
这是我正在谈论的场景的一个示例。你有一个像这样的表格:
<form id="test" name="test" onsubmit="return false;" />
然后你在 Javascript 中使用 addEventListener/attachEvent 将一个事件连接到它(为简洁起见省略了连接)。该事件需要知道链中之前的任何内容是否返回 false 或以其他方式取消它。 IE版本是这样的:
function onSubmitHandler(e) {
alert("event was cancelled prior to this handler: " + e.returnValue);
}
这适用于 IE、Chrome 等,但当然不适用于 FireFox,因为它没有 event.returnValue。我已经梳理了互联网上的任何其他方法来在 FireFox 中确定这一点,但一无所获。这个问题有没有不直接设置表单的onsubmit属性的解决方案?
【问题讨论】:
标签: javascript dom dom-events dhtml