From bd4a186551f7f29e4f24464c0977796823b8cd77 Mon Sep 17 00:00:00 2001 From: Przemyslaw Ciezkowski Date: Fri, 5 Apr 2013 18:17:33 +0200 Subject: [PATCH] Core: Performance fix for disableSelection and enableSelection Also fixed variable declaration - 'val' was global. Change-Id: I0ad692059bcad4c16628d3b7a7e28e2f91db34bd Tests: /tests/unit-tests/core/ --- src/js/jquery.mobile.tizen.core.js | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) 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) { -- 2.7.4