0

当使用Google Map Custom Overlay添加弹出输入文本框如下所示,当我尝试点击IE边缘15上的输入框(未测试过其他IE版本)我不能点击它并开始输入,就好像它不会在输入框上设置焦点一样。谷歌地图自定义叠加与输入文本不能在IE浏览器边缘

它虽然在Chrome上工作。

CustomMarker.prototype.onAdd = function() { 
    var self = this; 
    var div = this.div; 
    if (!div) { 
    // Generate marker html 
    div = this.div = document.createElement('div'); 
    div.className = 'custom-marker'; 
    div.style.position = 'absolute'; 
    div.innerHTML = '<span><input type="text" value="asfd" style="padding:10px;font-size:18px;" /></span>'; 
    var innerDiv = document.createElement('div'); 
    innerDiv.className = 'custom-marker-inner'; 

    div.appendChild(innerDiv); 

    if (typeof(self.args.marker_id) !== 'undefined') { 
     div.dataset.marker_id = self.args.marker_id; 
    } 

    google.maps.event.addDomListener(div, "click", function(event) { 
     google.maps.event.trigger(self, "click"); 
    }); 

    var panes = this.getPanes(); 
    panes.overlayImage.appendChild(div); 
    } 
}; 

Full example code here - jsfiddle

我想知道如果我上面的实现是错误的或者这是从谷歌地图中的错误? [编辑:或有没有工作?]

+0

我的猜测是会在IE中,而不是谷歌地图API的错误。 – geocodezip

回答

1

我已经分叉你的小提琴。这可能是有点哈克,但我已经更新了click事件集中于输入:

google.maps.event.addDomListener(div, "click", function(event) { 
    google.maps.event.trigger(self, "click"); 
    event.target.focus(); 
}); 

https://jsfiddle.net/ng4hxqfs/5/

+0

谢谢,但在我现实生活中的生产环境中,会有多个输入文本框。 – forestclown

+0

那应该还能工作呢?该div在标记的范围内,我没有得到所有的输入,只是点击标记当前标记的那些输入。 – mdon88

+0

你的意思是多个输入具有相同的标记? – mdon88

相关问题