]> source.dussan.org Git - jquery-ui.git/commitdiff
Core: Refactored .disableSelection() and .enableSelection().
authorScott González <scott.gonzalez@gmail.com>
Wed, 1 Sep 2010 13:49:18 +0000 (09:49 -0400)
committerScott González <scott.gonzalez@gmail.com>
Wed, 1 Sep 2010 13:49:18 +0000 (09:49 -0400)
ui/jquery.ui.core.js

index 364d7b668e6120a2db74e1bef30e4de3e275ecc4..f040ef5e1d146a5e2359638df21466c2e095f0b8 100644 (file)
@@ -115,59 +115,20 @@ $.fn.extend({
                }
 
                return 0;
-       }
-});
-
-(function() {
-       var elem = document.createElement( "div" ),
-               style = elem.style,
-               userSelectProp = "userSelect" in style && "userSelect";
+       },
+       
+       disableSelection: function() {
+               return this.bind(
+                       "mousedown.ui-disableSelection selectstart.ui-disableSelection",
+                       function( event ) {
+                               event.preventDefault();
+                       });
+       },
 
-       if ( !userSelectProp ) {
-               $.each( [ "Moz", "Webkit", "Khtml" ], function( i, prefix ) {
-                       var vendorProp = prefix + "UserSelect";
-                       if ( vendorProp in style ) {
-                               userSelectProp = vendorProp;
-                               return false;
-                       }
-               });
+       enableSelection: function() {
+               return this.unbind( ".ui-disableSelection" );
        }
-       var selectStart = !userSelectProp && "onselectstart" in elem && "selectstart.mouse";
-
-       elem = null;
-
-       $.fn.extend({
-               disableSelection: function() {
-                       if ( userSelectProp ) {
-                               this.css( userSelectProp, "none" );
-                       } else {
-                               this.find( "*" ).andSelf().attr( "unselectable", "on" );
-                       }
-
-                       if ( selectStart ) {
-                               this.bind( selectStart, function() {
-                                       return false;
-                               });
-                       }
-
-                       return this;
-               },
-
-               enableSelection: function() {
-                       if ( userSelectProp ) {
-                               this.css( userSelectProp, "" );
-                       } else {
-                               this.find( "*" ).andSelf().attr( "unselectable", "off" );
-                       }
-
-                       if ( selectStart ) {
-                               this.unbind( selectStart );
-                       }
-
-                       return this;
-               }
-       });
-})();
+});
 
 $.each( [ "Width", "Height" ], function( i, name ) {
        var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],