-jQuery.fn.extend({\r
-\r
- // We're overriding the old toggle function, so\r
- // remember it for later\r
- _toggle: jQuery.fn.toggle,\r
- \r
- /**\r
- * Toggle between two function calls every other click.\r
- * Whenever a matched element is clicked, the first specified function \r
- * is fired, when clicked again, the second is fired. All subsequent \r
- * clicks continue to rotate through the two functions.\r
- *\r
- * @example $("p").toggle(function(){\r
- * $(this).addClass("selected");\r
- * },function(){\r
- * $(this).removeClass("selected");\r
- * });\r
- * \r
- * @test var count = 0;\r
- * var fn1 = function() { count++; }\r
- * var fn2 = function() { count--; }\r
- * var link = $('#mark');\r
- * link.click().toggle(fn1, fn2).click().click().click().click().click();\r
- * ok( count == 1, "Check for toggle(fn, fn)" );\r
- *\r
- * @name toggle\r
- * @type jQuery\r
- * @param Function even The function to execute on every even click.\r
- * @param Function odd The function to execute on every odd click.\r
- * @cat Events\r
- */\r
- toggle: function(a,b) {\r
- // If two functions are passed in, we're\r
- // toggling on a click\r
- return a && b && a.constructor == Function && b.constructor == Function ? this.click(function(e){\r
- // Figure out which function to execute\r
- this.last = this.last == a ? b : a;\r
- \r
- // Make sure that clicks stop\r
- e.preventDefault();\r
- \r
- // and execute the function\r
- return this.last.apply( this, [e] ) || false;\r
- }) :\r
- \r
- // Otherwise, execute the old toggle function\r
- this._toggle.apply( this, arguments );\r
- },\r
- \r
- /**\r
- * A method for simulating hovering (moving the mouse on, and off,\r
- * an object). This is a custom method which provides an 'in' to a \r
- * frequent task.\r
- *\r
- * Whenever the mouse cursor is moved over a matched \r
- * element, the first specified function is fired. Whenever the mouse \r
- * moves off of the element, the second specified function fires. \r
- * Additionally, checks are in place to see if the mouse is still within \r
- * the specified element itself (for example, an image inside of a div), \r
- * and if it is, it will continue to 'hover', and not move out \r
- * (a common error in using a mouseout event handler).\r
- *\r
- * @example $("p").hover(function(){\r
- * $(this).addClass("over");\r
- * },function(){\r
- * $(this).addClass("out");\r
- * });\r
- *\r
- * @name hover\r
- * @type jQuery\r
- * @param Function over The function to fire whenever the mouse is moved over a matched element.\r
- * @param Function out The function to fire whenever the mouse is moved off of a matched element.\r
- * @cat Events\r
- */\r
- hover: function(f,g) {\r
- \r
- // A private function for haandling mouse 'hovering'\r
- function handleHover(e) {\r
- // Check if mouse(over|out) are still within the same parent element\r
- var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;\r
- \r
- // Traverse up the tree\r
- while ( p && p != this ) try { p = p.parentNode } catch(e) { p = this; };\r
- \r
- // If we actually just moused on to a sub-element, ignore it\r
- if ( p == this ) return false;\r
- \r
- // Execute the right function\r
- return (e.type == "mouseover" ? f : g).apply(this, [e]);\r
- }\r
- \r
- // Bind the function to the two event listeners\r
- return this.mouseover(handleHover).mouseout(handleHover);\r
- },\r
- \r
- /**\r
- * Bind a function to be executed whenever the DOM is ready to be\r
- * traversed and manipulated. This is probably the most important \r
- * function included in the event module, as it can greatly improve\r
- * the response times of your web applications.\r
- *\r
- * In a nutshell, this is a solid replacement for using window.onload, \r
- * and attaching a function to that. By using this method, your bound Function \r
- * will be called the instant the DOM is ready to be read and manipulated, \r
- * which is exactly what 99.99% of all Javascript code needs to run.\r
- * \r
- * Please ensure you have no code in your <body> onload event handler, \r
- * otherwise $(document).ready() may not fire.\r
- *\r
- * You can have as many $(document).ready events on your page as you like.\r
- *\r
- * @example $(document).ready(function(){ Your code here... });\r
- *\r
- * @name ready\r
- * @type jQuery\r
- * @param Function fn The function to be executed when the DOM is ready.\r
- * @cat Events\r
- */\r
- ready: function(f) {\r
- // If the DOM is already ready\r
- if ( jQuery.isReady )\r
- // Execute the function immediately\r
- f.apply( document );\r
- \r
- // Otherwise, remember the function for later\r
- else {\r
- // Add the function to the wait list\r
- jQuery.readyList.push( f );\r
- }\r
- \r
- return this;\r
- }\r
-});\r
-\r
-jQuery.extend({\r
- /*\r
- * All the code that makes DOM Ready work nicely.\r
- */\r
- isReady: false,\r
- readyList: [],\r
- \r
- // Handle when the DOM is ready\r
- ready: function() {\r
- // Make sure that the DOM is not already loaded\r
- if ( !jQuery.isReady ) {\r
- // Remember that the DOM is ready\r
- jQuery.isReady = true;\r
- \r
- // If there are functions bound, to execute\r
- if ( jQuery.readyList ) {\r
- // Execute all of them\r
- for ( var i = 0; i < jQuery.readyList.length; i++ )\r
- jQuery.readyList[i].apply( document );\r
- \r
- // Reset the list of functions\r
- jQuery.readyList = null;\r
- }\r
- // Remove event lisenter to avoid memory leak\r
- if ( jQuery.browser.mozilla || jQuery.browser.opera )\r
- document.removeEventListener( "DOMContentLoaded", jQuery.ready, false );\r
- }\r
- }\r
-});\r
-\r
-new function(){\r
-\r
- /**\r
- * Bind a function to the scroll event of each matched element.\r
- *\r
- * @example $("p").scroll( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onscroll="alert('Hello');">Hello</p>\r
- *\r
- * @name scroll\r
- * @type jQuery\r
- * @param Function fn A function to bind to the scroll event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Trigger the scroll event of each matched element. This causes all of the functions\r
- * that have been bound to thet scroll event to be executed.\r
- *\r
- * @example $("p").scroll();\r
- * @before <p onscroll="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name scroll\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the scroll event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .scroll() method, calling .onescroll() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onescroll( function() { alert("Hello"); } );\r
- * @before <p onscroll="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first scroll\r
- *\r
- * @name onescroll\r
- * @type jQuery\r
- * @param Function fn A function to bind to the scroll event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes a bound scroll event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unscroll( myFunction );\r
- * @before <p onscroll="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unscroll\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the scroll event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes all bound scroll events from each of the matched elements.\r
- *\r
- * @example $("p").unscroll();\r
- * @before <p onscroll="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unscroll\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the submit event of each matched element.\r
- *\r
- * @example $("p").submit( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onsubmit="alert('Hello');">Hello</p>\r
- *\r
- * @name submit\r
- * @type jQuery\r
- * @param Function fn A function to bind to the submit event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Trigger the submit event of each matched element. This causes all of the functions\r
- * that have been bound to thet submit event to be executed.\r
- *\r
- * @example $("p").submit();\r
- * @before <p onsubmit="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name submit\r
- * @type jQuery\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Bind a function to the submit event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .submit() method, calling .onesubmit() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onesubmit( function() { alert("Hello"); } );\r
- * @before <p onsubmit="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first submit\r
- *\r
- * @name onesubmit\r
- * @type jQuery\r
- * @param Function fn A function to bind to the submit event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Removes a bound submit event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unsubmit( myFunction );\r
- * @before <p onsubmit="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unsubmit\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the submit event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Removes all bound submit events from each of the matched elements.\r
- *\r
- * @example $("p").unsubmit();\r
- * @before <p onsubmit="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unsubmit\r
- * @type jQuery\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Bind a function to the focus event of each matched element.\r
- *\r
- * @example $("p").focus( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onfocus="alert('Hello');">Hello</p>\r
- *\r
- * @name focus\r
- * @type jQuery\r
- * @param Function fn A function to bind to the focus event on each of the matched elements.\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Trigger the focus event of each matched element. This causes all of the functions\r
- * that have been bound to thet focus event to be executed.\r
- *\r
- * @example $("p").focus();\r
- * @before <p onfocus="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name focus\r
- * @type jQuery\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Bind a function to the focus event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .focus() method, calling .onefocus() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onefocus( function() { alert("Hello"); } );\r
- * @before <p onfocus="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first focus\r
- *\r
- * @name onefocus\r
- * @type jQuery\r
- * @param Function fn A function to bind to the focus event on each of the matched elements.\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Removes a bound focus event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unfocus( myFunction );\r
- * @before <p onfocus="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unfocus\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the focus event on each of the matched elements.\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Removes all bound focus events from each of the matched elements.\r
- *\r
- * @example $("p").unfocus();\r
- * @before <p onfocus="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unfocus\r
- * @type jQuery\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Bind a function to the keydown event of each matched element.\r
- *\r
- * @example $("p").keydown( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onkeydown="alert('Hello');">Hello</p>\r
- *\r
- * @name keydown\r
- * @type jQuery\r
- * @param Function fn A function to bind to the keydown event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Trigger the keydown event of each matched element. This causes all of the functions\r
- * that have been bound to thet keydown event to be executed.\r
- *\r
- * @example $("p").keydown();\r
- * @before <p onkeydown="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name keydown\r
- * @type jQuery\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Bind a function to the keydown event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .keydown() method, calling .onekeydown() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onekeydown( function() { alert("Hello"); } );\r
- * @before <p onkeydown="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first keydown\r
- *\r
- * @name onekeydown\r
- * @type jQuery\r
- * @param Function fn A function to bind to the keydown event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Removes a bound keydown event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unkeydown( myFunction );\r
- * @before <p onkeydown="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unkeydown\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the keydown event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Removes all bound keydown events from each of the matched elements.\r
- *\r
- * @example $("p").unkeydown();\r
- * @before <p onkeydown="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unkeydown\r
- * @type jQuery\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Bind a function to the dblclick event of each matched element.\r
- *\r
- * @example $("p").dblclick( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p ondblclick="alert('Hello');">Hello</p>\r
- *\r
- * @name dblclick\r
- * @type jQuery\r
- * @param Function fn A function to bind to the dblclick event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Trigger the dblclick event of each matched element. This causes all of the functions\r
- * that have been bound to thet dblclick event to be executed.\r
- *\r
- * @example $("p").dblclick();\r
- * @before <p ondblclick="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name dblclick\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the dblclick event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .dblclick() method, calling .onedblclick() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onedblclick( function() { alert("Hello"); } );\r
- * @before <p ondblclick="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first dblclick\r
- *\r
- * @name onedblclick\r
- * @type jQuery\r
- * @param Function fn A function to bind to the dblclick event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes a bound dblclick event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").undblclick( myFunction );\r
- * @before <p ondblclick="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name undblclick\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the dblclick event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes all bound dblclick events from each of the matched elements.\r
- *\r
- * @example $("p").undblclick();\r
- * @before <p ondblclick="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name undblclick\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the keypress event of each matched element.\r
- *\r
- * @example $("p").keypress( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onkeypress="alert('Hello');">Hello</p>\r
- *\r
- * @name keypress\r
- * @type jQuery\r
- * @param Function fn A function to bind to the keypress event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Trigger the keypress event of each matched element. This causes all of the functions\r
- * that have been bound to thet keypress event to be executed.\r
- *\r
- * @example $("p").keypress();\r
- * @before <p onkeypress="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name keypress\r
- * @type jQuery\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Bind a function to the keypress event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .keypress() method, calling .onekeypress() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onekeypress( function() { alert("Hello"); } );\r
- * @before <p onkeypress="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first keypress\r
- *\r
- * @name onekeypress\r
- * @type jQuery\r
- * @param Function fn A function to bind to the keypress event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Removes a bound keypress event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unkeypress( myFunction );\r
- * @before <p onkeypress="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unkeypress\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the keypress event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Removes all bound keypress events from each of the matched elements.\r
- *\r
- * @example $("p").unkeypress();\r
- * @before <p onkeypress="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unkeypress\r
- * @type jQuery\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Bind a function to the error event of each matched element.\r
- *\r
- * @example $("p").error( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onerror="alert('Hello');">Hello</p>\r
- *\r
- * @name error\r
- * @type jQuery\r
- * @param Function fn A function to bind to the error event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Trigger the error event of each matched element. This causes all of the functions\r
- * that have been bound to thet error event to be executed.\r
- *\r
- * @example $("p").error();\r
- * @before <p onerror="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name error\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the error event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .error() method, calling .oneerror() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").oneerror( function() { alert("Hello"); } );\r
- * @before <p onerror="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first error\r
- *\r
- * @name oneerror\r
- * @type jQuery\r
- * @param Function fn A function to bind to the error event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes a bound error event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unerror( myFunction );\r
- * @before <p onerror="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unerror\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the error event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes all bound error events from each of the matched elements.\r
- *\r
- * @example $("p").unerror();\r
- * @before <p onerror="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unerror\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the blur event of each matched element.\r
- *\r
- * @example $("p").blur( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onblur="alert('Hello');">Hello</p>\r
- *\r
- * @name blur\r
- * @type jQuery\r
- * @param Function fn A function to bind to the blur event on each of the matched elements.\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Trigger the blur event of each matched element. This causes all of the functions\r
- * that have been bound to thet blur event to be executed.\r
- *\r
- * @example $("p").blur();\r
- * @before <p onblur="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name blur\r
- * @type jQuery\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Bind a function to the blur event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .blur() method, calling .oneblur() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").oneblur( function() { alert("Hello"); } );\r
- * @before <p onblur="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first blur\r
- *\r
- * @name oneblur\r
- * @type jQuery\r
- * @param Function fn A function to bind to the blur event on each of the matched elements.\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Removes a bound blur event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unblur( myFunction );\r
- * @before <p onblur="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unblur\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the blur event on each of the matched elements.\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Removes all bound blur events from each of the matched elements.\r
- *\r
- * @example $("p").unblur();\r
- * @before <p onblur="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unblur\r
- * @type jQuery\r
- * @cat Events/UI\r
- */\r
-\r
- /**\r
- * Bind a function to the load event of each matched element.\r
- *\r
- * @example $("p").load( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onload="alert('Hello');">Hello</p>\r
- *\r
- * @name load\r
- * @type jQuery\r
- * @param Function fn A function to bind to the load event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Trigger the load event of each matched element. This causes all of the functions\r
- * that have been bound to thet load event to be executed.\r
- *\r
- * Marked as private: Calling load() without arguments throws exception because the ajax load\r
- * does not handle it.\r
- *\r
- * @example $("p").load();\r
- * @before <p onload="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name load\r
- * @private\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the load event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .load() method, calling .oneload() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").oneload( function() { alert("Hello"); } );\r
- * @before <p onload="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first load\r
- *\r
- * @name oneload\r
- * @type jQuery\r
- * @param Function fn A function to bind to the load event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes a bound load event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unload( myFunction );\r
- * @before <p onload="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unload\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the load event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes all bound load events from each of the matched elements.\r
- *\r
- * @example $("p").unload();\r
- * @before <p onload="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unload\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the select event of each matched element.\r
- *\r
- * @example $("p").select( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onselect="alert('Hello');">Hello</p>\r
- *\r
- * @name select\r
- * @type jQuery\r
- * @param Function fn A function to bind to the select event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Trigger the select event of each matched element. This causes all of the functions\r
- * that have been bound to thet select event to be executed.\r
- *\r
- * @example $("p").select();\r
- * @before <p onselect="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name select\r
- * @type jQuery\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Bind a function to the select event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .select() method, calling .oneselect() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").oneselect( function() { alert("Hello"); } );\r
- * @before <p onselect="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first select\r
- *\r
- * @name oneselect\r
- * @type jQuery\r
- * @param Function fn A function to bind to the select event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Removes a bound select event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unselect( myFunction );\r
- * @before <p onselect="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unselect\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the select event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Removes all bound select events from each of the matched elements.\r
- *\r
- * @example $("p").unselect();\r
- * @before <p onselect="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unselect\r
- * @type jQuery\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Bind a function to the mouseup event of each matched element.\r
- *\r
- * @example $("p").mouseup( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onmouseup="alert('Hello');">Hello</p>\r
- *\r
- * @name mouseup\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mouseup event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Trigger the mouseup event of each matched element. This causes all of the functions\r
- * that have been bound to thet mouseup event to be executed.\r
- *\r
- * @example $("p").mouseup();\r
- * @before <p onmouseup="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name mouseup\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the mouseup event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .mouseup() method, calling .onemouseup() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onemouseup( function() { alert("Hello"); } );\r
- * @before <p onmouseup="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first mouseup\r
- *\r
- * @name onemouseup\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mouseup event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes a bound mouseup event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unmouseup( myFunction );\r
- * @before <p onmouseup="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmouseup\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the mouseup event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes all bound mouseup events from each of the matched elements.\r
- *\r
- * @example $("p").unmouseup();\r
- * @before <p onmouseup="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmouseup\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the unload event of each matched element.\r
- *\r
- * @example $("p").unload( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onunload="alert('Hello');">Hello</p>\r
- *\r
- * @name unload\r
- * @type jQuery\r
- * @param Function fn A function to bind to the unload event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Trigger the unload event of each matched element. This causes all of the functions\r
- * that have been bound to thet unload event to be executed.\r
- *\r
- * @example $("p").unload();\r
- * @before <p onunload="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name unload\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the unload event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .unload() method, calling .oneunload() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").oneunload( function() { alert("Hello"); } );\r
- * @before <p onunload="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first unload\r
- *\r
- * @name oneunload\r
- * @type jQuery\r
- * @param Function fn A function to bind to the unload event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes a bound unload event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").ununload( myFunction );\r
- * @before <p onunload="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name ununload\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the unload event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes all bound unload events from each of the matched elements.\r
- *\r
- * @example $("p").ununload();\r
- * @before <p onunload="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name ununload\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the change event of each matched element.\r
- *\r
- * @example $("p").change( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onchange="alert('Hello');">Hello</p>\r
- *\r
- * @name change\r
- * @type jQuery\r
- * @param Function fn A function to bind to the change event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Trigger the change event of each matched element. This causes all of the functions\r
- * that have been bound to thet change event to be executed.\r
- *\r
- * @example $("p").change();\r
- * @before <p onchange="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name change\r
- * @type jQuery\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Bind a function to the change event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .change() method, calling .onechange() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onechange( function() { alert("Hello"); } );\r
- * @before <p onchange="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first change\r
- *\r
- * @name onechange\r
- * @type jQuery\r
- * @param Function fn A function to bind to the change event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Removes a bound change event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unchange( myFunction );\r
- * @before <p onchange="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unchange\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the change event on each of the matched elements.\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Removes all bound change events from each of the matched elements.\r
- *\r
- * @example $("p").unchange();\r
- * @before <p onchange="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unchange\r
- * @type jQuery\r
- * @cat Events/Form\r
- */\r
-\r
- /**\r
- * Bind a function to the mouseout event of each matched element.\r
- *\r
- * @example $("p").mouseout( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onmouseout="alert('Hello');">Hello</p>\r
- *\r
- * @name mouseout\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mouseout event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Trigger the mouseout event of each matched element. This causes all of the functions\r
- * that have been bound to thet mouseout event to be executed.\r
- *\r
- * @example $("p").mouseout();\r
- * @before <p onmouseout="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name mouseout\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the mouseout event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .mouseout() method, calling .onemouseout() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onemouseout( function() { alert("Hello"); } );\r
- * @before <p onmouseout="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first mouseout\r
- *\r
- * @name onemouseout\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mouseout event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes a bound mouseout event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unmouseout( myFunction );\r
- * @before <p onmouseout="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmouseout\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the mouseout event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes all bound mouseout events from each of the matched elements.\r
- *\r
- * @example $("p").unmouseout();\r
- * @before <p onmouseout="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmouseout\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the keyup event of each matched element.\r
- *\r
- * @example $("p").keyup( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onkeyup="alert('Hello');">Hello</p>\r
- *\r
- * @name keyup\r
- * @type jQuery\r
- * @param Function fn A function to bind to the keyup event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Trigger the keyup event of each matched element. This causes all of the functions\r
- * that have been bound to thet keyup event to be executed.\r
- *\r
- * @example $("p").keyup();\r
- * @before <p onkeyup="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name keyup\r
- * @type jQuery\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Bind a function to the keyup event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .keyup() method, calling .onekeyup() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onekeyup( function() { alert("Hello"); } );\r
- * @before <p onkeyup="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first keyup\r
- *\r
- * @name onekeyup\r
- * @type jQuery\r
- * @param Function fn A function to bind to the keyup event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Removes a bound keyup event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unkeyup( myFunction );\r
- * @before <p onkeyup="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unkeyup\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the keyup event on each of the matched elements.\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Removes all bound keyup events from each of the matched elements.\r
- *\r
- * @example $("p").unkeyup();\r
- * @before <p onkeyup="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unkeyup\r
- * @type jQuery\r
- * @cat Events/Keyboard\r
- */\r
-\r
- /**\r
- * Bind a function to the click event of each matched element.\r
- *\r
- * @example $("p").click( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onclick="alert('Hello');">Hello</p>\r
- *\r
- * @name click\r
- * @type jQuery\r
- * @param Function fn A function to bind to the click event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Trigger the click event of each matched element. This causes all of the functions\r
- * that have been bound to thet click event to be executed.\r
- *\r
- * @example $("p").click();\r
- * @before <p onclick="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name click\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the click event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .click() method, calling .oneclick() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").oneclick( function() { alert("Hello"); } );\r
- * @before <p onclick="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first click\r
- *\r
- * @name oneclick\r
- * @type jQuery\r
- * @param Function fn A function to bind to the click event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes a bound click event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unclick( myFunction );\r
- * @before <p onclick="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unclick\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the click event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes all bound click events from each of the matched elements.\r
- *\r
- * @example $("p").unclick();\r
- * @before <p onclick="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unclick\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the resize event of each matched element.\r
- *\r
- * @example $("p").resize( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onresize="alert('Hello');">Hello</p>\r
- *\r
- * @name resize\r
- * @type jQuery\r
- * @param Function fn A function to bind to the resize event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Trigger the resize event of each matched element. This causes all of the functions\r
- * that have been bound to thet resize event to be executed.\r
- *\r
- * @example $("p").resize();\r
- * @before <p onresize="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name resize\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the resize event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .resize() method, calling .oneresize() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").oneresize( function() { alert("Hello"); } );\r
- * @before <p onresize="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first resize\r
- *\r
- * @name oneresize\r
- * @type jQuery\r
- * @param Function fn A function to bind to the resize event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes a bound resize event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unresize( myFunction );\r
- * @before <p onresize="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unresize\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the resize event on each of the matched elements.\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Removes all bound resize events from each of the matched elements.\r
- *\r
- * @example $("p").unresize();\r
- * @before <p onresize="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unresize\r
- * @type jQuery\r
- * @cat Events/Browser\r
- */\r
-\r
- /**\r
- * Bind a function to the mousemove event of each matched element.\r
- *\r
- * @example $("p").mousemove( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onmousemove="alert('Hello');">Hello</p>\r
- *\r
- * @name mousemove\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mousemove event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Trigger the mousemove event of each matched element. This causes all of the functions\r
- * that have been bound to thet mousemove event to be executed.\r
- *\r
- * @example $("p").mousemove();\r
- * @before <p onmousemove="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name mousemove\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the mousemove event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .mousemove() method, calling .onemousemove() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onemousemove( function() { alert("Hello"); } );\r
- * @before <p onmousemove="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first mousemove\r
- *\r
- * @name onemousemove\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mousemove event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes a bound mousemove event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unmousemove( myFunction );\r
- * @before <p onmousemove="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmousemove\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the mousemove event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes all bound mousemove events from each of the matched elements.\r
- *\r
- * @example $("p").unmousemove();\r
- * @before <p onmousemove="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmousemove\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the mousedown event of each matched element.\r
- *\r
- * @example $("p").mousedown( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onmousedown="alert('Hello');">Hello</p>\r
- *\r
- * @name mousedown\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mousedown event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Trigger the mousedown event of each matched element. This causes all of the functions\r
- * that have been bound to thet mousedown event to be executed.\r
- *\r
- * @example $("p").mousedown();\r
- * @before <p onmousedown="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name mousedown\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the mousedown event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .mousedown() method, calling .onemousedown() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onemousedown( function() { alert("Hello"); } );\r
- * @before <p onmousedown="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first mousedown\r
- *\r
- * @name onemousedown\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mousedown event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes a bound mousedown event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unmousedown( myFunction );\r
- * @before <p onmousedown="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmousedown\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the mousedown event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes all bound mousedown events from each of the matched elements.\r
- *\r
- * @example $("p").unmousedown();\r
- * @before <p onmousedown="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmousedown\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
- \r
- /**\r
- * Bind a function to the mouseover event of each matched element.\r
- *\r
- * @example $("p").mouseover( function() { alert("Hello"); } );\r
- * @before <p>Hello</p>\r
- * @result <p onmouseover="alert('Hello');">Hello</p>\r
- *\r
- * @name mouseover\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mousedown event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Trigger the mouseover event of each matched element. This causes all of the functions\r
- * that have been bound to thet mousedown event to be executed.\r
- *\r
- * @example $("p").mouseover();\r
- * @before <p onmouseover="alert('Hello');">Hello</p>\r
- * @result alert('Hello');\r
- *\r
- * @name mouseover\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Bind a function to the mouseover event of each matched element, which will only be executed once.\r
- * Unlike a call to the normal .mouseover() method, calling .onemouseover() causes the bound function to be\r
- * only executed the first time it is triggered, and never again (unless it is re-bound).\r
- *\r
- * @example $("p").onemouseover( function() { alert("Hello"); } );\r
- * @before <p onmouseover="alert('Hello');">Hello</p>\r
- * @result alert('Hello'); // Only executed for the first mouseover\r
- *\r
- * @name onemouseover\r
- * @type jQuery\r
- * @param Function fn A function to bind to the mouseover event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes a bound mouseover event from each of the matched\r
- * elements. You must pass the identical function that was used in the original \r
- * bind method.\r
- *\r
- * @example $("p").unmouseover( myFunction );\r
- * @before <p onmouseover="myFunction">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmouseover\r
- * @type jQuery\r
- * @param Function fn A function to unbind from the mouseover event on each of the matched elements.\r
- * @cat Events/Mouse\r
- */\r
-\r
- /**\r
- * Removes all bound mouseover events from each of the matched elements.\r
- *\r
- * @example $("p").unmouseover();\r
- * @before <p onmouseover="alert('Hello');">Hello</p>\r
- * @result <p>Hello</p>\r
- *\r
- * @name unmouseover\r
- * @type jQuery\r
- * @cat Events/Mouse\r
- */\r
- \r
- /**\r
- * @test var count;\r
- * // ignore load\r
- * var e = ("blur,focus,resize,scroll,unload,click,dblclick," +\r
- * "mousedown,mouseup,mousemove,mouseover,mouseout,change,reset,select," + \r
- * "submit,keydown,keypress,keyup,error").split(",");\r
- * var handler1 = function(event) {\r
- * count++;\r
- * };\r
- * var handler2 = function(event) {\r
- * count++;\r
- * };\r
- * for( var i=0; i < e.length; i++) {\r
- * var event = e[i];\r
- * count = 0;\r
- * // bind handler\r
- * $(document)[event](handler1);\r
- * $(document)[event](handler2);\r
- * $(document)["one"+event](handler1);\r
- * \r
- * // call event two times\r
- * $(document)[event]();\r
- * $(document)[event]();\r
- * \r
- * // unbind events\r
- * $(document)["un"+event](handler1);\r
- * // call once more\r
- * $(document)[event]();\r
- *\r
- * // remove all handlers\r
- * $(document)["un"+event]();\r
- *\r
- * // call once more\r
- * $(document)[event]();\r
- * \r
- * // assert count\r
- * ok( count == 6, 'Checking event ' + event);\r
- * }\r
- *\r
- * @private\r
- * @name eventTesting\r
- * @cat Events\r
- */\r
-\r
- var e = ("blur,focus,load,resize,scroll,unload,click,dblclick," +\r
- "mousedown,mouseup,mousemove,mouseover,mouseout,change,reset,select," + \r
- "submit,keydown,keypress,keyup,error").split(",");\r
-\r
- // Go through all the event names, but make sure that\r
- // it is enclosed properly\r
- for ( var i = 0; i < e.length; i++ ) new function(){\r
- \r
- var o = e[i];\r
- \r
- // Handle event binding\r
- jQuery.fn[o] = function(f){\r
- return f ? this.bind(o, f) : this.trigger(o);\r
- };\r
- \r
- // Handle event unbinding\r
- jQuery.fn["un"+o] = function(f){ return this.unbind(o, f); };\r
- \r
- // Finally, handle events that only fire once\r
- jQuery.fn["one"+o] = function(f){\r
- // Attach the event listener\r
- return this.each(function(){\r
-\r
- var count = 0;\r
-\r
- // Add the event\r
- jQuery.event.add( this, o, function(e){\r
- // If this function has already been executed, stop\r
- if ( count++ ) return;\r
- \r
- // And execute the bound function\r
- return f.apply(this, [e]);\r
- });\r
- });\r
- };\r
- \r
- };\r
- \r
- // If Mozilla is used\r
- if ( jQuery.browser.mozilla || jQuery.browser.opera ) {\r
- // Use the handy event callback\r
- document.addEventListener( "DOMContentLoaded", jQuery.ready, false );\r
- \r
- // If IE is used, use the excellent hack by Matthias Miller\r
- // http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited\r
- } else if ( jQuery.browser.msie ) {\r
- \r
- // Only works if you document.write() it\r
- document.write("<scr" + "ipt id=__ie_init defer=true " + \r
- "src=//:><\/script>");\r
- \r
- // Use the defer script hack\r
- var script = document.getElementById("__ie_init");\r
- script.onreadystatechange = function() {\r
- if ( this.readyState != "complete" ) return;\r
- this.parentNode.removeChild( this );\r
- jQuery.ready();\r
- };\r
- \r
- // Clear from memory\r
- script = null;\r
- \r
- // If Safari is used\r
- } else if ( jQuery.browser.safari ) {\r
- // Continually check to see if the document.readyState is valid\r
- jQuery.safariTimer = setInterval(function(){\r
- // loaded and complete are both valid states\r
- if ( document.readyState == "loaded" || \r
- document.readyState == "complete" ) {\r
- \r
- // If either one are found, remove the timer\r
- clearInterval( jQuery.safariTimer );\r
- jQuery.safariTimer = null;\r
- \r
- // and execute any waiting functions\r
- jQuery.ready();\r
- }\r
- }, 10);\r
- } \r
-\r
- // A fallback to window.onload, that will always work\r
- jQuery.event.add( window, "load", jQuery.ready );\r
- \r
-};\r
-\r
-// Clean up after IE to avoid memory leaks\r
-if (jQuery.browser.msie) jQuery(window).unload(function() {\r
- var event = jQuery.event, global = event.global;\r
- for (var type in global) {\r
- var els = global[type], i = els.length;\r
- if (i>0) do if (type != 'unload') event.remove(els[i-1], type); while (--i);\r
- }\r
-});\r
+/*
+ * A number of helper functions used for managing events.
+ * Many of the ideas behind this code orignated from
+ * Dean Edwards' addEvent library.
+ */
+jQuery.event = {
+
+ // Bind an event to an element
+ // Original by Dean Edwards
+ add: function(element, type, handler, data) {
+ // For whatever reason, IE has trouble passing the window object
+ // around, causing it to be cloned in the process
+ if ( jQuery.browser.msie && element.setInterval != undefined )
+ element = window;
+
+ // if data is passed, bind to handler
+ if( data )
+ handler.data = data;
+
+ // Make sure that the function being executed has a unique ID
+ if ( !handler.guid )
+ handler.guid = this.guid++;
+
+ // Init the element's event structure
+ if (!element.events)
+ element.events = {};
+
+ // Get the current list of functions bound to this event
+ var handlers = element.events[type];
+
+ // If it hasn't been initialized yet
+ if (!handlers) {
+ // Init the event handler queue
+ handlers = element.events[type] = {};
+
+ // Remember an existing handler, if it's already there
+ if (element["on" + type])
+ handlers[0] = element["on" + type];
+ }
+
+ // Add the function to the element's handler list
+ handlers[handler.guid] = handler;
+
+ // And bind the global event handler to the element
+ element["on" + type] = this.handle;
+
+ // Remember the function in a global list (for triggering)
+ if (!this.global[type])
+ this.global[type] = [];
+ this.global[type].push( element );
+ },
+
+ guid: 1,
+ global: {},
+
+ // Detach an event or set of events from an element
+ remove: function(element, type, handler) {
+ if (element.events)
+ if ( type && type.type )
+ delete element.events[ type.type ][ type.handler.guid ];
+ else if (type && element.events[type])
+ if ( handler )
+ delete element.events[type][handler.guid];
+ else
+ for ( var i in element.events[type] )
+ delete element.events[type][i];
+ else
+ for ( var j in element.events )
+ this.remove( element, j );
+ },
+
+ trigger: function(type,data,element) {
+ // Clone the incoming data, if any
+ data = jQuery.makeArray(data || []);
+
+ // Handle a global trigger
+ if ( !element )
+ jQuery.each( this.global[type] || [], function(){
+ jQuery.event.trigger( type, data, this );
+ });
+
+ // Handle triggering a single element
+ else if ( element["on" + type] ) {
+ // Pass along a fake event
+ data.unshift( this.fix({ type: type, target: element }) );
+
+ // Trigger the event
+ var val = element["on" + type].apply( element, data );
+
+ if ( val !== false && jQuery.isFunction( element[ type ] ) ) {
+ this.triggered = true;
+ element[ type ]();
+ }
+ }
+ },
+
+ handle: function(event) {
+ if ( typeof jQuery == "undefined" ) return;
+
+ // Handle the second event of a trigger
+ if ( jQuery.event.triggered ) {
+ jQuery.event.triggered = false;
+ return;
+ }
+
+ // Empty object is for triggered events with no data
+ event = jQuery.event.fix( event || window.event || {} );
+
+ // returned undefined or false
+ var returnValue;
+
+ var c = this.events[event.type];
+
+ var args = [].slice.call( arguments, 1 );
+ args.unshift( event );
+
+ for ( var j in c ) {
+ // Pass in a reference to the handler function itself
+ // So that we can later remove it
+ args[0].handler = c[j];
+ args[0].data = c[j].data;
+
+ if ( c[j].apply( this, args ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ returnValue = false;
+ }
+ }
+
+ // Clean up added properties in IE to prevent memory leak
+ if (jQuery.browser.msie) event.target = event.preventDefault = event.stopPropagation = event.handler = event.data = null;
+
+ return returnValue;
+ },
+
+ fix: function(event) {
+ // Fix target property, if necessary
+ if ( !event.target && event.srcElement )
+ event.target = event.srcElement;
+
+ // Calculate pageX/Y if missing and clientX/Y available
+ if ( event.pageX == undefined && event.clientX != undefined ) {
+ var e = document.documentElement, b = document.body;
+ event.pageX = event.clientX + (e.scrollLeft || b.scrollLeft);
+ event.pageY = event.clientY + (e.scrollTop || b.scrollTop);
+ }
+
+ // check if target is a textnode (safari)
+ if (jQuery.browser.safari && event.target.nodeType == 3) {
+ // store a copy of the original event object
+ // and clone because target is read only
+ var originalEvent = event;
+ event = jQuery.extend({}, originalEvent);
+
+ // get parentnode from textnode
+ event.target = originalEvent.target.parentNode;
+
+ // add preventDefault and stopPropagation since
+ // they will not work on the clone
+ event.preventDefault = function() {
+ return originalEvent.preventDefault();
+ };
+ event.stopPropagation = function() {
+ return originalEvent.stopPropagation();
+ };
+ }
+
+ // fix preventDefault and stopPropagation
+ if (!event.preventDefault)
+ event.preventDefault = function() {
+ this.returnValue = false;
+ };
+
+ if (!event.stopPropagation)
+ event.stopPropagation = function() {
+ this.cancelBubble = true;
+ };
+
+ return event;
+ }
+};
+
+jQuery.fn.extend({
+
+ /**
+ * Binds a handler to a particular event (like click) for each matched element.
+ * The event handler is passed an event object that you can use to prevent
+ * default behaviour. To stop both default action and event bubbling, your handler
+ * has to return false.
+ *
+ * In most cases, you can define your event handlers as anonymous functions
+ * (see first example). In cases where that is not possible, you can pass additional
+ * data as the second paramter (and the handler function as the third), see
+ * second example.
+ *
+ * @example $("p").bind("click", function(){
+ * alert( $(this).text() );
+ * });
+ * @before <p>Hello</p>
+ * @result alert("Hello")
+ *
+ * @example function handler(event) {
+ * alert(event.data.foo);
+ * }
+ * $("p").bind("click", {foo: "bar"}, handler)
+ * @result alert("bar")
+ * @desc Pass some additional data to the event handler.
+ *
+ * @example $("form").bind("submit", function() { return false; })
+ * @desc Cancel a default action and prevent it from bubbling by returning false
+ * from your function.
+ *
+ * @example $("form").bind("submit", function(event){
+ * event.preventDefault();
+ * });
+ * @desc Cancel only the default action by using the preventDefault method.
+ *
+ *
+ * @example $("form").bind("submit", function(event){
+ * event.stopPropagation();
+ * });
+ * @desc Stop only an event from bubbling by using the stopPropagation method.
+ *
+ * @name bind
+ * @type jQuery
+ * @param String type An event type
+ * @param Object data (optional) Additional data passed to the event handler as event.data
+ * @param Function fn A function to bind to the event on each of the set of matched elements
+ * @cat Events
+ */
+ bind: function( type, data, fn ) {
+ return this.each(function(){
+ jQuery.event.add( this, type, fn || data, data );
+ });
+ },
+
+ /**
+ * Binds a handler to a particular event (like click) for each matched element.
+ * The handler is executed only once for each element. Otherwise, the same rules
+ * as described in bind() apply.
+ The event handler is passed an event object that you can use to prevent
+ * default behaviour. To stop both default action and event bubbling, your handler
+ * has to return false.
+ *
+ * In most cases, you can define your event handlers as anonymous functions
+ * (see first example). In cases where that is not possible, you can pass additional
+ * data as the second paramter (and the handler function as the third), see
+ * second example.
+ *
+ * @example $("p").one("click", function(){
+ * alert( $(this).text() );
+ * });
+ * @before <p>Hello</p>
+ * @result alert("Hello")
+ *
+ * @name one
+ * @type jQuery
+ * @param String type An event type
+ * @param Object data (optional) Additional data passed to the event handler as event.data
+ * @param Function fn A function to bind to the event on each of the set of matched elements
+ * @cat Events
+ */
+ one: function( type, data, fn ) {
+ return this.each(function(){
+ jQuery.event.add( this, type, function(event) {
+ jQuery(this).unbind(event);
+ return (fn || data).apply( this, arguments);
+ }, data);
+ });
+ },
+
+ /**
+ * The opposite of bind, removes a bound event from each of the matched
+ * elements.
+ *
+ * Without any arguments, all bound events are removed.
+ *
+ * If the type is provided, all bound events of that type are removed.
+ *
+ * If the function that was passed to bind is provided as the second argument,
+ * only that specific event handler is removed.
+ *
+ * @example $("p").unbind()
+ * @before <p onclick="alert('Hello');">Hello</p>
+ * @result [ <p>Hello</p> ]
+ *
+ * @example $("p").unbind( "click" )
+ * @before <p onclick="alert('Hello');">Hello</p>
+ * @result [ <p>Hello</p> ]
+ *
+ * @example $("p").unbind( "click", function() { alert("Hello"); } )
+ * @before <p onclick="alert('Hello');">Hello</p>
+ * @result [ <p>Hello</p> ]
+ *
+ * @name unbind
+ * @type jQuery
+ * @param String type (optional) An event type
+ * @param Function fn (optional) A function to unbind from the event on each of the set of matched elements
+ * @cat Events
+ */
+ unbind: function( type, fn ) {
+ return this.each(function(){
+ jQuery.event.remove( this, type, fn );
+ });
+ },
+
+ /**
+ * Trigger a type of event on every matched element.
+ *
+ * @example $("p").trigger("click")
+ * @before <p click="alert('hello')">Hello</p>
+ * @result alert('hello')
+ *
+ * @name trigger
+ * @type jQuery
+ * @param String type An event type to trigger.
+ * @cat Events
+ */
+ trigger: function( type, data ) {
+ return this.each(function(){
+ jQuery.event.trigger( type, data, this );
+ });
+ },
+
+ /**
+ * Toggle between two function calls every other click.
+ * Whenever a matched element is clicked, the first specified function
+ * is fired, when clicked again, the second is fired. All subsequent
+ * clicks continue to rotate through the two functions.
+ *
+ * Use unbind("click") to remove.
+ *
+ * @example $("p").toggle(function(){
+ * $(this).addClass("selected");
+ * },function(){
+ * $(this).removeClass("selected");
+ * });
+ *
+ * @name toggle
+ * @type jQuery
+ * @param Function even The function to execute on every even click.
+ * @param Function odd The function to execute on every odd click.
+ * @cat Events
+ */
+ toggle: function() {
+ // Save reference to arguments for access in closure
+ var a = arguments;
+
+ return this.click(function(e) {
+ // Figure out which function to execute
+ this.lastToggle = this.lastToggle == 0 ? 1 : 0;
+
+ // Make sure that clicks stop
+ e.preventDefault();
+
+ // and execute the function
+ return a[this.lastToggle].apply( this, [e] ) || false;
+ });
+ },
+
+ /**
+ * A method for simulating hovering (moving the mouse on, and off,
+ * an object). This is a custom method which provides an 'in' to a
+ * frequent task.
+ *
+ * Whenever the mouse cursor is moved over a matched
+ * element, the first specified function is fired. Whenever the mouse
+ * moves off of the element, the second specified function fires.
+ * Additionally, checks are in place to see if the mouse is still within
+ * the specified element itself (for example, an image inside of a div),
+ * and if it is, it will continue to 'hover', and not move out
+ * (a common error in using a mouseout event handler).
+ *
+ * @example $("p").hover(function(){
+ * $(this).addClass("over");
+ * },function(){
+ * $(this).addClass("out");
+ * });
+ *
+ * @name hover
+ * @type jQuery
+ * @param Function over The function to fire whenever the mouse is moved over a matched element.
+ * @param Function out The function to fire whenever the mouse is moved off of a matched element.
+ * @cat Events
+ */
+ hover: function(f,g) {
+
+ // A private function for handling mouse 'hovering'
+ function handleHover(e) {
+ // Check if mouse(over|out) are still within the same parent element
+ var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
+
+ // Traverse up the tree
+ while ( p && p != this ) try { p = p.parentNode } catch(e) { p = this; };
+
+ // If we actually just moused on to a sub-element, ignore it
+ if ( p == this ) return false;
+
+ // Execute the right function
+ return (e.type == "mouseover" ? f : g).apply(this, [e]);
+ }
+
+ // Bind the function to the two event listeners
+ return this.mouseover(handleHover).mouseout(handleHover);
+ },
+
+ /**
+ * Bind a function to be executed whenever the DOM is ready to be
+ * traversed and manipulated. This is probably the most important
+ * function included in the event module, as it can greatly improve
+ * the response times of your web applications.
+ *
+ * In a nutshell, this is a solid replacement for using window.onload,
+ * and attaching a function to that. By using this method, your bound Function
+ * will be called the instant the DOM is ready to be read and manipulated,
+ * which is exactly what 99.99% of all Javascript code needs to run.
+ *
+ * There is one argument passed to the ready event handler: A reference to
+ * the jQuery function. You can name that argument whatever you like, and
+ * can therefore stick with the $ alias without risc of naming collisions.
+ *
+ * Please ensure you have no code in your <body> onload event handler,
+ * otherwise $(document).ready() may not fire.
+ *
+ * You can have as many $(document).ready events on your page as you like.
+ * The functions are then executed in the order they were added.
+ *
+ * @example $(document).ready(function(){ Your code here... });
+ *
+ * @example jQuery(function($) {
+ * // Your code using failsafe $ alias here...
+ * });
+ * @desc Uses both the shortcut for $(document).ready() and the argument
+ * to write failsafe jQuery code using the $ alias, without relying on the
+ * global alias.
+ *
+ * @name ready
+ * @type jQuery
+ * @param Function fn The function to be executed when the DOM is ready.
+ * @cat Events
+ * @see $.noConflict()
+ * @see $(Function)
+ */
+ ready: function(f) {
+ // If the DOM is already ready
+ if ( jQuery.isReady )
+ // Execute the function immediately
+ f.apply( document, [jQuery] );
+
+ // Otherwise, remember the function for later
+ else {
+ // Add the function to the wait list
+ jQuery.readyList.push( function() { return f.apply(this, [jQuery]) } );
+ }
+
+ return this;
+ }
+});
+
+jQuery.extend({
+ /*
+ * All the code that makes DOM Ready work nicely.
+ */
+ isReady: false,
+ readyList: [],
+
+ // Handle when the DOM is ready
+ ready: function() {
+ // Make sure that the DOM is not already loaded
+ if ( !jQuery.isReady ) {
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If there are functions bound, to execute
+ if ( jQuery.readyList ) {
+ // Execute all of them
+ jQuery.each( jQuery.readyList, function(){
+ this.apply( document );
+ });
+
+ // Reset the list of functions
+ jQuery.readyList = null;
+ }
+ // Remove event lisenter to avoid memory leak
+ if ( jQuery.browser.mozilla || jQuery.browser.opera )
+ document.removeEventListener( "DOMContentLoaded", jQuery.ready, false );
+ }
+ }
+});
+
+new function(){
+
+ /**
+ * Bind a function to the scroll event of each matched element.
+ *
+ * @example $("p").scroll( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onscroll="alert('Hello');">Hello</p>
+ *
+ * @name scroll
+ * @type jQuery
+ * @param Function fn A function to bind to the scroll event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the submit event of each matched element.
+ *
+ * @example $("#myform").submit( function() {
+ * return $("input", this).val().length > 0;
+ * } );
+ * @before <form id="myform"><input /></form>
+ * @desc Prevents the form submission when the input has no value entered.
+ *
+ * @name submit
+ * @type jQuery
+ * @param Function fn A function to bind to the submit event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * 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.
+ *
+ * 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
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the focus event of each matched element.
+ *
+ * @example $("p").focus( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onfocus="alert('Hello');">Hello</p>
+ *
+ * @name focus
+ * @type jQuery
+ * @param Function fn A function to bind to the focus event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Trigger the focus event of each matched element. This causes all of the functions
+ * that have been bound to thet focus event to be executed.
+ *
+ * Note: This does not execute the focus method of the underlying elements! If you need to
+ * focus an element via code, you have to use the DOM method, eg. $("#myinput")[0].focus();
+ *
+ * @example $("p").focus();
+ * @before <p onfocus="alert('Hello');">Hello</p>
+ * @result alert('Hello');
+ *
+ * @name focus
+ * @type jQuery
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the keydown event of each matched element.
+ *
+ * @example $("p").keydown( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onkeydown="alert('Hello');">Hello</p>
+ *
+ * @name keydown
+ * @type jQuery
+ * @param Function fn A function to bind to the keydown event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the dblclick event of each matched element.
+ *
+ * @example $("p").dblclick( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p ondblclick="alert('Hello');">Hello</p>
+ *
+ * @name dblclick
+ * @type jQuery
+ * @param Function fn A function to bind to the dblclick event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the keypress event of each matched element.
+ *
+ * @example $("p").keypress( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onkeypress="alert('Hello');">Hello</p>
+ *
+ * @name keypress
+ * @type jQuery
+ * @param Function fn A function to bind to the keypress event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the error event of each matched element.
+ *
+ * @example $("p").error( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onerror="alert('Hello');">Hello</p>
+ *
+ * @name error
+ * @type jQuery
+ * @param Function fn A function to bind to the error event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the blur event of each matched element.
+ *
+ * @example $("p").blur( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onblur="alert('Hello');">Hello</p>
+ *
+ * @name blur
+ * @type jQuery
+ * @param Function fn A function to bind to the blur event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Trigger the blur event of each matched element. This causes all of the functions
+ * that have been bound to thet blur event to be executed.
+ *
+ * Note: This does not execute the blur method of the underlying elements! If you need to
+ * blur an element via code, you have to use the DOM method, eg. $("#myinput")[0].blur();
+ *
+ * @example $("p").blur();
+ * @before <p onblur="alert('Hello');">Hello</p>
+ * @result alert('Hello');
+ *
+ * @name blur
+ * @type jQuery
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the load event of each matched element.
+ *
+ * @example $("p").load( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onload="alert('Hello');">Hello</p>
+ *
+ * @name load
+ * @type jQuery
+ * @param Function fn A function to bind to the load event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the select event of each matched element.
+ *
+ * @example $("p").select( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onselect="alert('Hello');">Hello</p>
+ *
+ * @name select
+ * @type jQuery
+ * @param Function fn A function to bind to the select event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Trigger the select event of each matched element. This causes all of the functions
+ * that have been bound to thet select event to be executed.
+ *
+ * @example $("p").select();
+ * @before <p onselect="alert('Hello');">Hello</p>
+ * @result alert('Hello');
+ *
+ * @name select
+ * @type jQuery
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the mouseup event of each matched element.
+ *
+ * @example $("p").mouseup( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onmouseup="alert('Hello');">Hello</p>
+ *
+ * @name mouseup
+ * @type jQuery
+ * @param Function fn A function to bind to the mouseup event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the unload event of each matched element.
+ *
+ * @example $("p").unload( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onunload="alert('Hello');">Hello</p>
+ *
+ * @name unload
+ * @type jQuery
+ * @param Function fn A function to bind to the unload event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the change event of each matched element.
+ *
+ * @example $("p").change( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onchange="alert('Hello');">Hello</p>
+ *
+ * @name change
+ * @type jQuery
+ * @param Function fn A function to bind to the change event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the mouseout event of each matched element.
+ *
+ * @example $("p").mouseout( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onmouseout="alert('Hello');">Hello</p>
+ *
+ * @name mouseout
+ * @type jQuery
+ * @param Function fn A function to bind to the mouseout event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the keyup event of each matched element.
+ *
+ * @example $("p").keyup( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onkeyup="alert('Hello');">Hello</p>
+ *
+ * @name keyup
+ * @type jQuery
+ * @param Function fn A function to bind to the keyup event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the click event of each matched element.
+ *
+ * @example $("p").click( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onclick="alert('Hello');">Hello</p>
+ *
+ * @name click
+ * @type jQuery
+ * @param Function fn A function to bind to the click event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Trigger the click event of each matched element. This causes all of the functions
+ * that have been bound to thet click event to be executed.
+ *
+ * @example $("p").click();
+ * @before <p onclick="alert('Hello');">Hello</p>
+ * @result alert('Hello');
+ *
+ * @name click
+ * @type jQuery
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the resize event of each matched element.
+ *
+ * @example $("p").resize( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onresize="alert('Hello');">Hello</p>
+ *
+ * @name resize
+ * @type jQuery
+ * @param Function fn A function to bind to the resize event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the mousemove event of each matched element.
+ *
+ * @example $("p").mousemove( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onmousemove="alert('Hello');">Hello</p>
+ *
+ * @name mousemove
+ * @type jQuery
+ * @param Function fn A function to bind to the mousemove event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the mousedown event of each matched element.
+ *
+ * @example $("p").mousedown( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onmousedown="alert('Hello');">Hello</p>
+ *
+ * @name mousedown
+ * @type jQuery
+ * @param Function fn A function to bind to the mousedown event on each of the matched elements.
+ * @cat Events
+ */
+
+ /**
+ * Bind a function to the mouseover event of each matched element.
+ *
+ * @example $("p").mouseover( function() { alert("Hello"); } );
+ * @before <p>Hello</p>
+ * @result <p onmouseover="alert('Hello');">Hello</p>
+ *
+ * @name mouseover
+ * @type jQuery
+ * @param Function fn A function to bind to the mousedown event on each of the matched elements.
+ * @cat Events
+ */
+ jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
+ "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," +
+ "submit,keydown,keypress,keyup,error").split(","), function(i,o){
+
+ // Handle event binding
+ jQuery.fn[o] = function(f){
+ return f ? this.bind(o, f) : this.trigger(o);
+ };
+
+ });
+
+ // If Mozilla is used
+ if ( jQuery.browser.mozilla || jQuery.browser.opera )
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", jQuery.ready, false );
+
+ // If IE is used, use the excellent hack by Matthias Miller
+ // http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
+ else if ( jQuery.browser.msie ) {
+
+ // Only works if you document.write() it
+ document.write("<scr" + "ipt id=__ie_init defer=true " +
+ "src=//:><\/script>");
+
+ // Use the defer script hack
+ var script = document.getElementById("__ie_init");
+
+ // script does not exist if jQuery is loaded dynamically
+ if ( script )
+ script.onreadystatechange = function() {
+ if ( this.readyState != "complete" ) return;
+ this.parentNode.removeChild( this );
+ jQuery.ready();
+ };
+
+ // Clear from memory
+ script = null;
+
+ // If Safari is used
+ } else if ( jQuery.browser.safari )
+ // Continually check to see if the document.readyState is valid
+ jQuery.safariTimer = setInterval(function(){
+ // loaded and complete are both valid states
+ if ( document.readyState == "loaded" ||
+ document.readyState == "complete" ) {
+
+ // If either one are found, remove the timer
+ clearInterval( jQuery.safariTimer );
+ jQuery.safariTimer = null;
+
+ // and execute any waiting functions
+ jQuery.ready();
+ }
+ }, 10);
+
+ // A fallback to window.onload, that will always work
+ jQuery.event.add( window, "load", jQuery.ready );
+
+};
+
+// Clean up after IE to avoid memory leaks
+if (jQuery.browser.msie)
+ jQuery(window).one("unload", function() {
+ var global = jQuery.event.global;
+ for ( var type in global ) {
+ var els = global[type], i = els.length;
+ if ( i && type != 'unload' )
+ do
+ jQuery.event.remove(els[i-1], type);
+ while (--i);
+ }
+ });