Firefox DOM2鼠标按下事件在使用stopPropagation时选择元素

时间:2009-07-22 08:23:58

标签: javascript events event-bubbling

我有一个链接元素,我捕获mousedown事件并阻止事件冒泡,以便不会选择页面中的其他元素。但是在firefox(3& 3.5)中,当我使用DOM 2事件模型时,它仍然选择页面中的其他元素。

我已经在Opera中测试了它,并且在没有选择其他元素的情况下工作正常。另一个奇怪的问题是,如果我使用DOM 0事件模型,它工作正常,不选择其他元素。这是firefox中的错误还是我做错了?

以下是我用来测试的2个事件处理程序

past.addEventListener('mousedown', function (e) {
    e.stopPropagation();
    return false;
}, false);

past.onmousedown = function (e) {
    e.stopPropagation();
    return false;
};

1 个答案:

答案 0 :(得分:0)

你试过e.preventDefault()吗? stopPropagation将停止调用祖先元素的事件处理程序,但这与阻止执行默认操作不同。由于DOM规范并未真正指定鼠标事件和选择应如何在事件模型方面进行交互,因此它可能是其中一个浏览器单向执行,另一个执行另一个浏览,也不是“正确”或“错误”。