Skip to content
Permalink
Browse files

Rolled back Joern's changes. They've been moved to another branch, an…

…d will be merged for 1.1.
  • Loading branch information
jeresig committed Oct 26, 2006
1 parent 44e4b36 commit 476cbd2f1afd39e32feb350a732877c18f9f7715
Showing with 21 additions and 26 deletions.
  1. +16 −4 src/event/event.js
  2. +5 −22 src/jquery/jquery.js
@@ -1583,17 +1583,29 @@ new function(){
var o = e[i];

// Handle event binding
jQuery.fn[o] = function(f, amount){
return f ? this.bind(o, f, amount) : this.trigger(o);
jQuery.fn[o] = function(f){
return f ? this.bind(o, f) : this.trigger(o);
};

// Handle event unbinding
jQuery.fn["un"+o] = function(f){ return this.unbind(o, f); };

// Finally, handle events that only fire once
jQuery.fn["one"+o] = function(f){
// use bind with amount param to bind only once
return this.bind(o, f, 1);
// Attach the event listener
return this.each(function(){

var count = 0;

// Add the event
jQuery.event.add( this, o, function(e){
// If this function has already been executed, stop
if ( count++ ) return true;

// And execute the bound function
return f.apply(this, [e]);
});
});
};

};
@@ -2271,7 +2271,7 @@ jQuery.extend({
handle: function(event) {
if ( typeof jQuery == "undefined" ) return false;

event = jQuery.event.fix( event );
event = event || jQuery.event.fix( window.event );

// If no correct event was found, fail
if ( !event ) return false;
@@ -2295,19 +2295,16 @@ jQuery.extend({
},

fix: function(event) {
if(jQuery.browser.msie) {
event = window.event;
if ( event ) {
event.preventDefault = function() {
this.returnValue = false;
};

event.stopPropagation = function() {
this.cancelBubble = true;
};
event.target = event.srcElement;
} else if(jQuery.browser.safari && event.target.nodeType == 3) {
event = jQuery.extend({}, event);
event.target = event.target.parentNode;
}

return event;
}

@@ -3399,29 +3396,15 @@ jQuery.macros = {
* } )
* @desc Stop only an event from bubbling by using the stopPropagation method.
*
* @example $("form").bind( "submit", function(event) {
* // do something after submit
* }, 1 )
* @desc Executes the function only on the first submit event and removes it afterwards
*
* @name bind
* @type jQuery
* @param String type An event type
* @param Function fn A function to bind to the event on each of the set of matched elements
* @param Number amount An optional amount of times to execute the bound function
* @cat Events
*/
bind: function( type, fn, amount ) {
bind: function( type, fn ) {
if ( fn.constructor == String )
fn = new Function("e", ( !fn.indexOf(".") ? "jQuery(this)" : "return " ) + fn);
if( amount > 0 ) {
var element = this, handler = fn, count = 0;
fn = function(e) {
if( ++count >= amount )
jQuery(element).unbind(type, fn);
handler.apply(element, [e]);
};
}
jQuery.event.add( this, type, fn );
},

0 comments on commit 476cbd2

Please sign in to comment.
You can’t perform that action at this time.