ErrorEvent x 2 + onerror, 1st ErrorEvent preventing default

Result: 2nd ErrorEvent handler still fires (bad), and `window.onerror` still fires anyway (bad)

by James Greene

JavaScript

if (typeof window.ErrorEvent !== "undefined") {
    window.addEventListener("error", function(e) {
        document.body.innerHTML += "<div>ErrorEvent 1</div>";

        // Will this prevent `window.onerror` from firing?
        e.stopPropgatation();        
        e.preventDefault();
        return true;
    });
    
    window.addEventListener("error", function(e) {
        document.body.innerHTML += "<div>ErrorEvent 2</div>";
    });
}
else {
    document.body.innerHTML += "<div>ErrorEvent not available in this browser</div>";
}

window.onerror = function() {
    document.body.innerHTML += "<div>onerror</div>";
}

throw new Error("WAT");