Потому что event только в IE глобальный объект (ну не только, но будем считать, что так), а в других браузерах передается, как первый параметр функции, срабатывающей по событию.
Нужно делать так:
function MyFunc() {
var e = arguments[0] || window.event;
// теперь e — это объект-событие
}