From 94a9b245670e17b0d4b93c1249112eeee58e62b7 Mon Sep 17 00:00:00 2001 From: scottjehl Date: Tue, 24 Jan 2012 17:23:36 +0700 Subject: [PATCH] added the locked property, with options to lock and unlock it when calling disable or enable, respectively. This allows a plugin to take control and ensure zoom isn't messed with while it's carrying out a zoom-specific task --- js/jquery.mobile.zoom.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/js/jquery.mobile.zoom.js b/js/jquery.mobile.zoom.js index 82c14b75..f1b9e0b1 100644 --- a/js/jquery.mobile.zoom.js +++ b/js/jquery.mobile.zoom.js @@ -12,13 +12,20 @@ define( [ "jquery", "jquery.mobile.core" ], function( $ ) { $.mobile.zoom = $.extend( {}, { enabled: true, - disable: function() { - meta.attr( "content", disabledZoom ); - $.mobile.zoom.enabled = false; + locked: false, + disable: function( lock ) { + if( !$.mobile.zoom.locked ){ + meta.attr( "content", disabledZoom ); + $.mobile.zoom.enabled = false; + $.mobile.zoom.locked = lock || false; + } }, - enable: function() { - meta.attr( "content", enabledZoom ); - $.mobile.zoom.enabled = true; + enable: function( unlock ) { + if( !$.mobile.zoom.locked || unlock ){ + meta.attr( "content", enabledZoom ); + $.mobile.zoom.enabled = true; + $.mobile.zoom.locked = false; + } }, restore: function() { meta.attr( "content", initialContent );