diff options
author | kborchers <kris.borchers@gmail.com> | 2012-05-29 20:55:43 -0500 |
---|---|---|
committer | kborchers <kris.borchers@gmail.com> | 2012-05-29 21:13:17 -0500 |
commit | 40e47c0b08c31e5003833b9c46d36e7468a63de8 (patch) | |
tree | 03b4e71f3dfe102f1f76ce5d7462f5b6dae1a15e /ui | |
parent | 649a670d1c86be5e50b13cc03161d20098f80588 (diff) | |
download | jquery-ui-40e47c0b08c31e5003833b9c46d36e7468a63de8.tar.gz jquery-ui-40e47c0b08c31e5003833b9c46d36e7468a63de8.zip |
Core: Add the uniqueId() and removeUniqueId() methods written by @scottgonzalez to provide a generalized way of generating and removing generated element id's. Also, added a unit test. Fixed #8361 - Add uniqueId() and removeUniqueId()
Diffstat (limited to 'ui')
-rw-r--r-- | ui/jquery.ui.core.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ui/jquery.ui.core.js b/ui/jquery.ui.core.js index d8fff91e1..a511de24b 100644 --- a/ui/jquery.ui.core.js +++ b/ui/jquery.ui.core.js @@ -9,6 +9,9 @@ */ (function( $, undefined ) { +var uuid = 0, + runiqueId = /^ui-id-\d+$/; + // prevent duplicate loading // this is only a problem because we proxy existing functions // and we don't want to double proxy them @@ -107,6 +110,22 @@ $.fn.extend({ return 0; }, + uniqueId: function() { + return this.each(function() { + if ( !this.id ) { + this.id = "ui-id-" + (++uuid); + } + }); + }, + + removeUniqueId: function() { + return this.each(function() { + if ( runiqueId.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + }); + }, + disableSelection: function() { return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + ".ui-disableSelection", function( event ) { |