Changeset 1773
- Timestamp:
- 04/24/07 21:48:52 (2 years ago)
- Location:
- trunk/jquery/src/event
- Files:
-
- 2 modified
-
event.js (modified) (5 diffs)
-
eventTest.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/jquery/src/event/event.js
r1768 r1773 15 15 16 16 // if data is passed, bind to handler 17 if( data != undefined) {17 if( data != handler ) { 18 18 // Create temporary function pointer to original handler 19 19 var fn = handler; … … 56 56 element.addEventListener(type, element.$handle, false); 57 57 else if (element.attachEvent) 58 element.attachEvent("on" + type, element.$handle , false);58 element.attachEvent("on" + type, element.$handle); 59 59 } 60 60 … … 102 102 element.removeEventListener(type, element.$handle, false); 103 103 else if (element.detachEvent) 104 element.detachEvent("on" + type, element.$handle , false);104 element.detachEvent("on" + type, element.$handle); 105 105 ret = null; 106 106 delete events[type]; … … 275 275 bind: function( type, data, fn ) { 276 276 return this.each(function(){ 277 jQuery.event.add( this, type, fn || data, data );277 jQuery.event.add( this, type, fn || data, fn && data ); 278 278 }); 279 279 }, … … 310 310 jQuery(this).unbind(event); 311 311 return (fn || data).apply( this, arguments); 312 }, data);312 }, fn && data); 313 313 }); 314 314 }, -
trunk/jquery/src/event/eventTest.js
r1767 r1773 2 2 3 3 test("bind()", function() { 4 expect(1 0);4 expect(11); 5 5 6 6 var handler = function(event) { 7 7 ok( event.data, "bind() with data, check passed data exists" ); 8 8 ok( event.data.foo == "bar", "bind() with data, Check value of passed data" ); 9 } 9 }; 10 10 $("#firstp").bind("click", {foo: "bar"}, handler).click(); 11 11 … … 16 16 ok( data, "Check trigger data" ); 17 17 ok( data.bar == "foo", "Check value of trigger data" ); 18 } 18 }; 19 19 $("#firstp").bind("click", {foo: "bar"}, handler).trigger("click", [{bar: "foo"}]); 20 21 var handler = function(event) { 22 ok ( !event.data, "Check that no data is added to the event object" ); 23 }; 24 $("#firstp").unbind().bind("click", handler).trigger("click"); 20 25 21 26 // events don't work with iframes, see #939 … … 40 45 function selectOnChange(event) { 41 46 equals( event.data, counter++, "Event.data is not a global event object" ); 42 } 47 }; 43 48 $("select").each(function(i){ 44 49 $(this).bind('change', i, selectOnChange); … … 91 96 ok( b == "2", "check passed data" ); 92 97 ok( c == "abc", "check passed data" ); 93 } 98 }; 94 99 $("#firstp").bind("click", handler).trigger("click", [1, "2", "abc"]); 95 100 });
