所以,我有一个自定义控件设置来切换侧边栏。问题出在IE 10,9,8中。控件有一个mousedown功能,它在IE中不能很好地运行,我也无法“点击”工作。
// Search Control
var searchControl = L.Control.extend({
options: {
position: 'topleft'
},
onAdd: function (map) {
// create the control container with a particular class name
var searchcontrol = L.DomUtil.create('div');
var controlUI = L.DomUtil.create('a', 'global-search2', searchcontrol);
L.DomEvent
.on(searchcontrol, 'mousedown', function () {sidebar.toggle(); });
return searchcontrol;
}
});
map.addControl(new searchControl());
// Sidebar
var sidebar = L.control.sidebar('sidebar', {
closeButton: true,
position: 'left'
});
map.addControl(sidebar);
setTimeout(function () {
sidebar.show();
}, 500);
map.on('click', function () {
sidebar.hide();
})
继承我的小提琴:http://jsfiddle.net/be9PK/1/
非常感谢任何帮助。
答案 0 :(得分:0)
这似乎是IE的时间问题。我在这里分道扬琴,这应该有效:http://jsfiddle.net/C5C47/
var controlUI = L.DomUtil.create('button', 'global-search2', searchcontrol);
我将控件容器从锚点更改为按钮。这可确保单击此元素具有正确的事件传播。