X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fevent%2Fevent.js;h=9f903212597aa2a687d8a438ab101f6508a0a762;hb=3e3240f7ed52c035f3f68d50836f089bd2d03409;hp=7a61773da5b95a483a8e7909cd60a0de5110e703;hpb=4e5b46f7f624b119633390385560e09ab3d38fa8;p=jquery.git diff --git a/src/event/event.js b/src/event/event.js index 7a61773..9f90321 100644 --- a/src/event/event.js +++ b/src/event/event.js @@ -16,13 +16,6 @@ jQuery.fn.extend({ * $(this).removeClass("selected"); * }); * - * @test var count = 0; - * var fn1 = function() { count++; } - * var fn2 = function() { count--; } - * var link = $('#mark'); - * link.click().toggle(fn1, fn2).click().click().click().click().click(); - * ok( count == 1, "Check for toggle(fn, fn)" ); - * * @name toggle * @type jQuery * @param Function even The function to execute on every even click. @@ -235,9 +228,11 @@ new function(){ /** * Bind a function to the submit event of each matched element. * - * @example $("p").submit( function() { alert("Hello"); } ); - * @before

Hello

- * @result

Hello

+ * @example $("#myform").submit( function() { + * return $("input", this).val().length > 0; + * } ); + * @before
+ * @desc Prevents the form submission when the input has no value entered. * * @name submit * @type jQuery @@ -249,9 +244,11 @@ new function(){ * Trigger the submit event of each matched element. This causes all of the functions * that have been bound to thet submit event to be executed. * - * @example $("p").submit(); - * @before

Hello

- * @result alert('Hello'); + * Note: This does not execute the submit method of the form element! If you need to + * submit the form via code, you have to use the DOM method, eg. $("form")[0].submit(); + * + * @example $("form").submit(); + * @desc Triggers all submit events registered for forms, but does not submit the form * * @name submit * @type jQuery @@ -1527,50 +1524,6 @@ new function(){ * @type jQuery * @cat Events/Mouse */ - - /** - * @test var count; - * // ignore load - * var e = ("blur,focus,resize,scroll,unload,click,dblclick," + - * "mousedown,mouseup,mousemove,mouseover,mouseout,change,reset,select," + - * "submit,keydown,keypress,keyup,error").split(","); - * var handler1 = function(event) { - * count++; - * }; - * var handler2 = function(event) { - * count++; - * }; - * for( var i=0; i < e.length; i++) { - * var event = e[i]; - * count = 0; - * // bind handler - * $(document)[event](handler1); - * $(document)[event](handler2); - * $(document)["one"+event](handler1); - * - * // call event two times - * $(document)[event](); - * $(document)[event](); - * - * // unbind events - * $(document)["un"+event](handler1); - * // call once more - * $(document)[event](); - * - * // remove all handlers - * $(document)["un"+event](); - * - * // call once more - * $(document)[event](); - * - * // assert count - * ok( count == 6, 'Checking event ' + event); - * } - * - * @private - * @name eventTesting - * @cat Events - */ var e = ("blur,focus,load,resize,scroll,unload,click,dblclick," + "mousedown,mouseup,mousemove,mouseover,mouseout,change,reset,select," + @@ -1597,8 +1550,9 @@ new function(){ var handler = function() { // unbind itself when executed element.unbind(o, handler); + element = null; // apply original handler with the same arguments - f.apply(this, arguments); + return f.apply(this, arguments); }; return this.bind(o, handler); }; @@ -1620,11 +1574,12 @@ new function(){ // Use the defer script hack var script = document.getElementById("__ie_init"); - script.onreadystatechange = function() { - if ( this.readyState != "complete" ) return; - this.parentNode.removeChild( this ); - jQuery.ready(); - }; + if (script) // script does not exist if jQuery is loaded dynamically + script.onreadystatechange = function() { + if ( this.readyState != "complete" ) return; + this.parentNode.removeChild( this ); + jQuery.ready(); + }; // Clear from memory script = null;