JSFiddle - React, Tailwind, and code Playground

HTML

<div id='output'> - </div>

JavaScript

//cross browser approach
function attach(element, type, fn){
    if (element.addEventListener){
        element.addEventListener(type, fn, false);
    } else if (element.attachEvent){
        element.attachEvent('on' + type, fn);
    }
};

function allEvents(){
	$._data($(div).get(0), "events")
}


attach(window, 'beforeunload', function(e){
    var e = e || window.event;
    // for ie, ff
    e.returnValue = "leave message";
    // for webkit
    return "leave message";             
});

allEvents();

var o = $('#output');

o.append(window.beforeunload + '<br />');
o.append(window.onbeforeunload + '<br />');
o.append(window.data('events') + '<br />');
o.append($(window).data('events') + '<br />');