aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeresig <jeresig@gmail.com>2010-02-26 20:01:19 -0500
committerjeresig <jeresig@gmail.com>2010-02-26 20:01:19 -0500
commitba7195e3f90b3a3130ac0b15880ba2f27106f568 (patch)
treeb14b398d55e973dcbe9146197584a6a07f1f1d69
parent9e06903a99caf5619d0db858ed3d24f0e6ee15db (diff)
downloadjquery-ba7195e3f90b3a3130ac0b15880ba2f27106f568.tar.gz
jquery-ba7195e3f90b3a3130ac0b15880ba2f27106f568.zip
Make it so that you can pass in event data to .click(), et. al. Fixes #6187.
-rw-r--r--src/event.js6
-rw-r--r--test/unit/event.js11
2 files changed, 15 insertions, 2 deletions
diff --git a/src/event.js b/src/event.js
index bfe2dd1af..779c069dc 100644
--- a/src/event.js
+++ b/src/event.js
@@ -1071,8 +1071,10 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
"change select submit keydown keypress keyup error").split(" "), function( i, name ) {
// Handle event binding
- jQuery.fn[ name ] = function( fn ) {
- return fn ? this.bind( name, fn ) : this.trigger( name );
+ jQuery.fn[ name ] = function( data, fn ) {
+ return data || fn ?
+ this.bind( name, fn ? data : null, fn || data ) :
+ this.trigger( name );
};
if ( jQuery.attrFn ) {
diff --git a/test/unit/event.js b/test/unit/event.js
index a220ebfc4..640490021 100644
--- a/test/unit/event.js
+++ b/test/unit/event.js
@@ -11,6 +11,17 @@ test("bind(), with data", function() {
ok( !jQuery.data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." );
});
+test("click(), with data", function() {
+ expect(3);
+ var handler = function(event) {
+ ok( event.data, "bind() with data, check passed data exists" );
+ equals( event.data.foo, "bar", "bind() with data, Check value of passed data" );
+ };
+ jQuery("#firstp").click({foo: "bar"}, handler).click().unbind("click", handler);
+
+ ok( !jQuery.data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." );
+});
+
test("bind(), with data, trigger with data", function() {
expect(4);
var handler = function(event, data) {