Olay nesnesini bir işlevin içinden almanın iki yolu vardır:
- W3C uyumlu bir tarayıcıda ilk argüman (Chrome, Firefox, Safari, IE9 +)
- Internet Explorer'da window.event nesnesi (<= 8)
W3C önerilerine uymayan eski tarayıcıları desteklemeniz gerekiyorsa, genellikle bir işlev içinde aşağıdakine benzer bir şey kullanırsınız:
function(e) {
var event = e || window.event;
[...];
}
hangisi önce diğerini, diğerini ve olay değişkeni içinde hangisini depoladığını kontrol eder. Ancak bir satır içi olay işleyicisindee
kullanılacak nesne yoktur. Bu durumda arguments
, her zaman kullanılabilir olan ve bir işleve iletilen tüm bağımsız değişkenler kümesine gönderme yapan koleksiyondan yararlanmanız gerekir :
onclick="var event = arguments[0] || window.event; [...]"
Ancak, genel olarak konuşmak gerekirse, yayılımı durdurmak gibi karmaşık bir şeye ihtiyacınız varsa, satır içi olay işleyicilerinden kaçınmalısınız. Etkinlik işleyicilerinizi ayrı ayrı yazmak ve öğelere bağlamak, hem okunabilirlik hem de sürdürülebilirlik için orta ve uzun vadede çok daha iyi bir fikirdir.