Each jQuery event has a data
object attached to it. This object can store any kind of data, including simple object properties or even object methods. You can define a separate object and then associate it with your event through data
. This object is the second parameter of the bind()
method used to attach an event to a page element. Once you associate your custom object with data
, you can later reference your object methods and properties using data
. An example:
var Class = { property: 'Test', get: function() { alert(this.property); } };
This is a simple object that we're going to associate with data
. The syntax of bind()
is as follows:
element.bind(eventType, data, handler)
So we need to use our object name as the second parameter of bind()
:
$('#test').bind('click', Class, function(event) { ... });
Doing this, we've associated Class
with data
. Now we can call our object method as follows:
$('#test').bind('click', Class, function(event) { event.data.get(); });
You can see this example below.