aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.core.js
diff options
context:
space:
mode:
authorkborchers <kris.borchers@gmail.com>2012-05-29 20:55:43 -0500
committerkborchers <kris.borchers@gmail.com>2012-05-29 21:13:17 -0500
commit40e47c0b08c31e5003833b9c46d36e7468a63de8 (patch)
tree03b4e71f3dfe102f1f76ce5d7462f5b6dae1a15e /ui/jquery.ui.core.js
parent649a670d1c86be5e50b13cc03161d20098f80588 (diff)
downloadjquery-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/jquery.ui.core.js')
-rw-r--r--ui/jquery.ui.core.js19
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 ) {