aboutsummaryrefslogtreecommitdiffstats
path: root/src/deprecated.js
diff options
context:
space:
mode:
authorDavid Bonner <dbonner@cogolabs.com>2012-10-15 17:20:33 -0400
committerRick Waldron <waldron.rick@gmail.com>2012-10-15 17:20:33 -0400
commit9104a3d5f2a1bb72b89ebdbad3f0bfdb2ea8ab74 (patch)
tree5f145091dacd9348725f20fe6e6fa9535ad9c3ef /src/deprecated.js
parentd6c84c5bb55814df0063e04b12c4143d07cba3f7 (diff)
downloadjquery-9104a3d5f2a1bb72b89ebdbad3f0bfdb2ea8ab74.tar.gz
jquery-9104a3d5f2a1bb72b89ebdbad3f0bfdb2ea8ab74.zip
Deprecate fn toggle Closes gh-970 https://github.com/jquery/2012-dev-summit/issues/24
Diffstat (limited to 'src/deprecated.js')
-rw-r--r--src/deprecated.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/deprecated.js b/src/deprecated.js
index af2b6223d..c5fa375d4 100644
--- a/src/deprecated.js
+++ b/src/deprecated.js
@@ -60,4 +60,30 @@ jQuery.sub = function() {
return jQuerySub;
};
+jQuery.fn.toggle = function( fn ) {
+ // Save reference to arguments for access in closure
+ var args = arguments,
+ guid = fn.guid || jQuery.guid++,
+ i = 0,
+ toggler = function( event ) {
+ // Figure out which function to execute
+ var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+ jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+ // Make sure that clicks stop
+ event.preventDefault();
+
+ // and execute the function
+ return args[ lastToggle ].apply( this, arguments ) || false;
+ };
+
+ // link all the functions, so any of them can unbind this click handler
+ toggler.guid = guid;
+ while ( i < args.length ) {
+ args[ i++ ].guid = guid;
+ }
+
+ return this.click( toggler );
+};
+
})();