传单自定义控件在IE中不起作用

时间:2013-12-03 23:03:58

标签: jquery maps leaflet

所以,我有一个自定义控件设置来切换侧边栏。问题出在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/

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这似乎是IE的时间问题。我在这里分道扬琴,这应该有效:http://jsfiddle.net/C5C47/

var controlUI = L.DomUtil.create('button', 'global-search2', searchcontrol);

我将控件容器从锚点更改为按钮。这可确保单击此元素具有正确的事件传播。