Событие мыши Firefox DOM2 выделяет элементы при использовании stopPropagation - PullRequest
0 голосов
/ 22 июля 2009

У меня есть элемент ссылки, где я фиксирую событие mousedown и не даю событию всплыть, чтобы другие элементы на странице не были выделены. Однако в Firefox (3 и 3.5), когда я использую модель событий DOM 2, он по-прежнему выбирает другие элементы на странице.

Я проверил его в опере, и он прекрасно работает, не выбирая другие элементы. Еще одна странная проблема заключается в том, что если я использую модель событий DOM 0, она работает нормально и не выбирает другие элементы. Это ошибка в Firefox или я просто делаю это неправильно?

Вот 2 обработчика событий, которые я использовал для тестирования

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

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

1 Ответ

0 голосов
/ 22 июля 2009

Вы пробовали e.preventDefault()? stopPropagation остановит обработчики событий для вызываемых элементов-предков, но это не то же самое, что предотвращение выполнения действия по умолчанию. Поскольку спецификации DOM на самом деле не определяют, как события и выделение мыши должны взаимодействовать с точки зрения модели событий, это может быть одна из тех областей, где один браузер делает это одним способом, другой - другим, и ни один не является «правильным» или "неправильно".

...