From 47e312b238453c6dae1e15e2828dfd27b8079408 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Mon, 20 Sep 2010 11:53:51 -0400 Subject: [PATCH] Core: Only use mousedown to prevent text selection in browsers that don't support selectstart. Fixes #6080 - Core: disableSelection() disables select elements in Chrome. --- ui/jquery.ui.core.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ui/jquery.ui.core.js b/ui/jquery.ui.core.js index b52ff9171..99aec2a63 100644 --- a/ui/jquery.ui.core.js +++ b/ui/jquery.ui.core.js @@ -118,9 +118,8 @@ $.fn.extend({ }, disableSelection: function() { - return this.bind( - "mousedown.ui-disableSelection selectstart.ui-disableSelection", - function( event ) { + return this.bind( $.support.selectstart ? "selectstart" : "mousedown" + + ".ui-disableSelection", function( event ) { event.preventDefault(); }); }, @@ -217,8 +216,8 @@ $.extend( $.expr[ ":" ], { // support $(function() { - var div = document.createElement( "div" ), - body = document.body; + var body = document.body, + div = body.appendChild( div = document.createElement( "div" ) ); $.extend( div.style, { minHeight: "100px", @@ -227,7 +226,9 @@ $(function() { borderWidth: 0 }); - $.support.minHeight = body.appendChild( div ).offsetHeight === 100; + $.support.minHeight = div.offsetHeight === 100; + $.support.selectstart = "onselectstart" in div; + // set display to none to avoid a layout bug in IE // http://dev.jquery.com/ticket/4014 body.removeChild( div ).style.display = "none"; -- 2.39.5