From 7426da61eaa250bcb8bbcc1a142f65f20979f78c Mon Sep 17 00:00:00 2001 From: Antoine Abt Date: Wed, 26 Feb 2014 11:15:03 +0100 Subject: [PATCH 1/2] Make ZoomToExtent listen on button click & not its container --- src/ol/control/zoomtoextentcontrol.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ol/control/zoomtoextentcontrol.js b/src/ol/control/zoomtoextentcontrol.js index 16602abc61..3fe1265594 100644 --- a/src/ol/control/zoomtoextentcontrol.js +++ b/src/ol/control/zoomtoextentcontrol.js @@ -47,7 +47,7 @@ ol.control.ZoomToExtent = function(opt_options) { goog.dom.appendChild(button, tip); goog.dom.appendChild(element, button); - goog.events.listen(element, [ + goog.events.listen(button, [ goog.events.EventType.TOUCHEND, goog.events.EventType.CLICK ], this.handleZoomToExtent_, false, this); From d53fa8f45a51c22f1af9f27b2166d077ef2c47e0 Mon Sep 17 00:00:00 2001 From: Antoine Abt Date: Wed, 26 Feb 2014 11:15:25 +0100 Subject: [PATCH 2/2] Fix chrome not to blur on mouseout/focusout may be related to https://code.google.com/p/chromium/issues/detail?id=321264 ? --- src/ol/control/fullscreencontrol.js | 7 +++++++ src/ol/control/zoomcontrol.js | 14 ++++++++++++++ src/ol/control/zoomtoextentcontrol.js | 7 +++++++ 3 files changed, 28 insertions(+) diff --git a/src/ol/control/fullscreencontrol.js b/src/ol/control/fullscreencontrol.js index 5d13ecd83a..121186d641 100644 --- a/src/ol/control/fullscreencontrol.js +++ b/src/ol/control/fullscreencontrol.js @@ -52,6 +52,13 @@ ol.control.FullScreen = function(opt_options) { goog.events.EventType.TOUCHEND ], this.handleClick_, false, this); + goog.events.listen(button, [ + goog.events.EventType.MOUSEOUT, + goog.events.EventType.FOCUSOUT + ], function() { + this.blur(); + }, false); + goog.events.listen(goog.global.document, goog.dom.fullscreen.EventType.CHANGE, this.handleFullScreenChange_, false, this); diff --git a/src/ol/control/zoomcontrol.js b/src/ol/control/zoomcontrol.js index a459d6c21d..c5eb49ad42 100644 --- a/src/ol/control/zoomcontrol.js +++ b/src/ol/control/zoomcontrol.js @@ -56,6 +56,13 @@ ol.control.Zoom = function(opt_options) { goog.events.EventType.CLICK ], goog.partial(ol.control.Zoom.prototype.zoomByDelta_, delta), false, this); + goog.events.listen(inElement, [ + goog.events.EventType.MOUSEOUT, + goog.events.EventType.FOCUSOUT + ], function() { + this.blur(); + }, false); + var tTipsZoomOut = goog.dom.createDom(goog.dom.TagName.SPAN, { 'role' : 'tooltip', 'type' : 'button' @@ -69,6 +76,13 @@ ol.control.Zoom = function(opt_options) { goog.events.EventType.CLICK ], goog.partial(ol.control.Zoom.prototype.zoomByDelta_, -delta), false, this); + goog.events.listen(outElement, [ + goog.events.EventType.MOUSEOUT, + goog.events.EventType.FOCUSOUT + ], function() { + this.blur(); + }, false); + var cssClasses = className + ' ' + ol.css.CLASS_UNSELECTABLE; var element = goog.dom.createDom(goog.dom.TagName.DIV, cssClasses, inElement, outElement); diff --git a/src/ol/control/zoomtoextentcontrol.js b/src/ol/control/zoomtoextentcontrol.js index 3fe1265594..9db50f69d0 100644 --- a/src/ol/control/zoomtoextentcontrol.js +++ b/src/ol/control/zoomtoextentcontrol.js @@ -52,6 +52,13 @@ ol.control.ZoomToExtent = function(opt_options) { goog.events.EventType.CLICK ], this.handleZoomToExtent_, false, this); + goog.events.listen(button, [ + goog.events.EventType.MOUSEOUT, + goog.events.EventType.FOCUSOUT + ], function() { + this.blur(); + }, false); + goog.base(this, { element: element, target: options.target