Существует ли кросс-браузерный способ из обработчика событий javascript, чтобы определить, было ли событие отменено предыдущим обработчиком? IE и другие браузеры, такие как Chrome и т. Д., Имеют свойство event.returnValue, которое можно проверить, но 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. Я прочесал intarwebs для любого другого способа определить это в FireFox и ничего не придумал. Есть ли решение этой проблемы, которое не предполагает непосредственного задания атрибута onsubmit формы?