Question

As the question said, i need the list of events bound to a specific element.

I mean events like click, mouseover etc bound to that element at the loading of the dom.

(Stupid) example:

$("#element").click(function()
{
    //stuff
});
$("#element").mouseover(function()
{
    //stuff
});
$("#element").focus(function()
{
    //stuff
});

Result:

click, mouseover, focus

Was it helpful?

Solution

Every event is added to an array.

This array can be accessed using the jQuery data method:

$("#element").data('events')

To log all events of one object to fireBug just type:

console.log ( $("#element").data('events') )

And you will get a list of all bound events.


Update:

For jQuery 1.8 and higher you have to look into the internal jQuery data object:

$("#element").each(function(){console.log($._data(this).events);});
// or
console.log($._data($("#element")[0]).events);

OTHER TIPS

You can access it by element.data('events');. Example:

var events = element.data('events');
for (var type in events) {
    // `type` is "click", "mouseover", "change", etc.
    for (var handler in events[type]) {
        // `handler` is the associated function.
    }
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top