From: Przemyslaw Ciezkowski Date: Fri, 5 Apr 2013 16:17:33 +0000 (+0200) Subject: Core: Performance fix for disableSelection and enableSelection X-Git-Tag: accepted/tizen_2.1/20130425.023924~2^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bd4a186551f7f29e4f24464c0977796823b8cd77;p=platform%2Fframework%2Fweb%2Fweb-ui-fw.git Core: Performance fix for disableSelection and enableSelection Also fixed variable declaration - 'val' was global. Change-Id: I0ad692059bcad4c16628d3b7a7e28e2f91db34bd Tests: /tests/unit-tests/core/ --- diff --git a/src/js/jquery.mobile.tizen.core.js b/src/js/jquery.mobile.tizen.core.js index 28adb3c..f045273 100644 --- a/src/js/jquery.mobile.tizen.core.js +++ b/src/js/jquery.mobile.tizen.core.js @@ -43,39 +43,33 @@ ensureNS("jQuery.mobile.tizen"); (function () { jQuery.extend(jQuery.mobile.tizen, { - disableSelection: function (element) { - var self = this; - $(element).find('*').each( function() { - if( ( $(this).get(0).tagName !== 'INPUT' && - $(this).attr("type") !== 'text' ) && - $(this).get(0).tagName !== 'TEXTAREA' ) { - self.enableSelection( this, 'none' ); - } - } ); - return true; - }, - - enableSelection: function (element, value) { - return $(element).each( function () { - switch( value ) { + disableSelection: function (element) { + this.enableSelection( + $(element).find('*').not( 'input, [type="text"], textarea' ), + 'none' + ); + return true; + }, + + enableSelection: function (element, value) { + var val; + switch ( value ) { case 'text' : case 'auto' : case 'none' : val = value; break; - default : val = 'auto'; break; } - $(this).css( { + return $(element).css( { 'user-select': val, '-moz-user-select': val, '-webkit-user-select': val, '-o-user-select': val, '-ms-transform': val - } ); - } ); + } ); }, disableContextMenu: function(element) {