Make it so that you can pass in event data to .click(), et. al. Fixes #6187.
This commit is contained in:
parent
9e06903a99
commit
ba7195e3f9
|
@ -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 ) {
|
"change select submit keydown keypress keyup error").split(" "), function( i, name ) {
|
||||||
|
|
||||||
// Handle event binding
|
// Handle event binding
|
||||||
jQuery.fn[ name ] = function( fn ) {
|
jQuery.fn[ name ] = function( data, fn ) {
|
||||||
return fn ? this.bind( name, fn ) : this.trigger( name );
|
return data || fn ?
|
||||||
|
this.bind( name, fn ? data : null, fn || data ) :
|
||||||
|
this.trigger( name );
|
||||||
};
|
};
|
||||||
|
|
||||||
if ( jQuery.attrFn ) {
|
if ( jQuery.attrFn ) {
|
||||||
|
|
|
@ -11,6 +11,17 @@ test("bind(), with data", function() {
|
||||||
ok( !jQuery.data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." );
|
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() {
|
test("bind(), with data, trigger with data", function() {
|
||||||
expect(4);
|
expect(4);
|
||||||
var handler = function(event, data) {
|
var handler = function(event, data) {
|
||||||
|
|
Loading…
Reference in a new issue