Прототип события JavaScript в IE8

Я пытаюсь добавить метод в прототип события. Для того, чтобы позвонить / установитьpreventDefault() или, в IE-говоритьreturnValue = false и, если желательно,stopPropagation() / cancelBubble = true;, Я думал, что кода ниже было бы достаточно.

Event = Event || window.Event;
//^^ makes the fiddle work on IE8 ^^
if(!(Event.prototype.stopEvent))
{
    Event.prototype.stopEvent = function(propagate)
    {
        "use strict";
        propagate = (propagate ? true : false);
        if (this.preventDefault)
        {
            this.preventDefault();
            if (propagate === false)
            {
                this.stopPropagation();
            }
        }
        else
        {
            this.returnValue = false;
            this.cancelBubble = !propagate;
        }
        return this;
    };
}

Который, кажется, работает,как вы можете видеть здесь, Эта скрипка показываетOK в IE8, Firefox и Chrome. Хотя, когда я добавляю это в свой скрипт, IE8 разрывается на первой строке, говоря'Event is undefined', Покидать"use strict"; не имеет значения вообще.

Я неохотно пробовал и это:

if (typeof Event === 'undefined')
{
    var Event = window.Event || window.event;//FFS IE :-(
}

Но безрезультатноError: 'Event.prototype' is null or not an objectИтак, я получил 1 строку дальше. Дело в том, что весь метод-прототип является копией вставки из моего скрипта, но что я здесь упускаю? Есть идеи или предложения?
Спасибо

PS: I like Pure JavaScript, so please, don't suggest jQuery, prototypejs, dojo,... as a solution. I've just gotten rid of jQuery. (I like jQuery, but there is no need for it in this case)

Update

Боюсь, дела обернулись к худшему. я нашелэта ссылка MSDN, Вся страница посвящена прототипам DOM Element. Довольно справедливо сказать, что они доступны и применимы в IE8 (в некоторой степени). На этой странице этот код попался на глаза:

Event.prototype.stopPropagation = function ()
{
  this.cancelBubble = true;
};
Event.prototype.preventDefault = function ()
{
  this.returnValue = false;
};

Его можно найти примерно на 3/4 части страницы в разделе под названием"Powerful Scenarios", На мой взгляд, это то же самое, что я хочу сделать, но что еще: если я попробую этот код через jsfiddle, он даже не будет работать, тогда как мой jsfiddle (с моим кодом) работал на IE8. Это всего лишь несколько последних строк фрагмента, но, насколько я понимаю, эти несколько строк кода должны работать просто отлично. Я изменил их следующим образом:

Event.prototype.stopPropagation = function ()
{
    if (this.stopPropagation)
    {
        return this.stopPropagation();
    }
    this.cancelBubble = true;
};
Event.prototype.preventDefault = function ()
{
    if (this.preventDefault)
    {
        return this.preventDefault();
    }
    this.returnValue = false;
};

Ответы на вопрос(2)

Ваш ответ на вопрос