Make Fullscreen control use <button> instead of <a>

This commit is contained in:
Antoine Abt
2014-02-19 10:26:37 +01:00
parent b3abc166a4
commit d52f62fb5a
3 changed files with 30 additions and 24 deletions

View File

@@ -36,11 +36,18 @@ ol.control.FullScreen = function(opt_options) {
this.cssClassName_ = goog.isDef(options.className) ?
options.className : 'ol-full-screen';
var aElement = goog.dom.createDom(goog.dom.TagName.A, {
'href': '#fullScreen',
'class': this.cssClassName_ + '-' + goog.dom.fullscreen.isFullScreen()
var tipLabel = goog.isDef(options.tipLabel) ?
options.tipLabel : 'Toggle full-screen';
var tip = goog.dom.createDom(goog.dom.TagName.SPAN, {
'role' : 'tooltip'
}, tipLabel);
var button = goog.dom.createDom(goog.dom.TagName.BUTTON, {
'class': this.cssClassName_ + '-' + goog.dom.fullscreen.isFullScreen() +
' ol-has-tooltip'
});
goog.events.listen(aElement, [
goog.dom.appendChild(button, tip);
goog.events.listen(button, [
goog.events.EventType.CLICK,
goog.events.EventType.TOUCHEND
], this.handleClick_, false, this);
@@ -51,7 +58,7 @@ ol.control.FullScreen = function(opt_options) {
var element = goog.dom.createDom(goog.dom.TagName.DIV, {
'class': this.cssClassName_ + ' ' + ol.css.CLASS_UNSELECTABLE + ' ' +
(!goog.dom.fullscreen.isSupported() ? ol.css.CLASS_UNSUPPORTED : '')
}, aElement);
}, button);
goog.base(this, {
element: element,
@@ -76,7 +83,6 @@ ol.control.FullScreen.prototype.handleClick_ = function(browserEvent) {
if (!goog.dom.fullscreen.isSupported()) {
return;
}
browserEvent.preventDefault();
var map = this.getMap();
if (goog.isNull(map)) {
return;