Seems like a bad idea, but you could get all the available event on an element by running Object.keys
on it, and filtering out everything that starts with on...
.
To pass it to jQuery, the on...
part has to be removed as well
var props = Object.keys(document.body).filter(function(x) {
return x.indexOf('on') === 0;
}).map(function(x) {
return x.replace('on','');
}).join(" ");
$('body').on(props, '.element', function(e) {
console.log(e.type)
});
FIDDLE
In my browser that would bind the event handler to
unload
storage
popstate
pageshow
pagehide
online
offline
message
languagechange
hashchange
beforeunload
scroll
resize
load
focus
error
blur
autocompleteerror
autocomplete
waiting
volumechange
toggle
timeupdate
suspend
submit
stalled
show
select
seeking
seeked
reset
ratechange
progress
playing
play
pause
mousewheel
mouseup
mouseover
mouseout
mousemove
mouseleave
mouseenter
mousedown
loadstart
loadedmetadata
loadeddata
keyup
keypress
keydown
invalid
input
ended
emptied
durationchange
drop
dragstart
dragover
dragleave
dragenter
dragend
drag
dblclick
cuechange
contextmenu
close
click
change
canplaythrough
canplay
cancel
abort
webkitfullscreenerror
webkitfullscreenchange
wheel
selectstart
search
paste
cut
copy
beforepaste
beforecut
beforecopy