Хорошо, если вы настаиваете:
event.preventDefault
не работает, потому что он не существует в IE.
По причине того, что он не существует, нужно было бы работать на MS. Но в целом IE не всегда соответствует стандартам.
Документация говорит, что вы можете установить event.returnValue
:
false
Действие по умолчанию для события на исходном объекте отменено.
и далее:
Примечания
Значение этого свойства имеет приоритет перед значениями, возвращаемыми функцией, например, с помощью оператора возврата Microsoft JScript.
Информация о стандартах
Не существует публичного стандарта, применимого к этому имуществу.
preventDefault
, похоже, поддерживается в IE9.