Javascript jqvmap-regionclick方法除非在浏览器控制台中调用,否则不会激发

Javascript jqvmap-regionclick方法除非在浏览器控制台中调用,否则不会激发,javascript,jquery,Javascript,Jquery,我正在使用JQVMap插件(http://jqvmap.com/)创建地图。该插件有一个名为onRegionClick的方法,如果选择了地图上的某个区域,可以通过该方法调用函数 我正在使用一个名为loadSlide的函数动态加载映射,但由于某些原因,没有调用onRegionClick方法,也没有调用我后来调用的bind方法。奇怪的是,如果在加载页面后将bind方法加载到浏览器控制台中,效果会很好 如果有必要,我很乐意提供更多的代码/上下文,但我对此束手无策。有谁熟悉这个插件并且有过这个问题的经验

我正在使用JQVMap插件(http://jqvmap.com/)创建地图。该插件有一个名为onRegionClick的方法,如果选择了地图上的某个区域,可以通过该方法调用函数

我正在使用一个名为loadSlide的函数动态加载映射,但由于某些原因,没有调用onRegionClick方法,也没有调用我后来调用的bind方法。奇怪的是,如果在加载页面后将bind方法加载到浏览器控制台中,效果会很好

如果有必要,我很乐意提供更多的代码/上下文,但我对此束手无策。有谁熟悉这个插件并且有过这个问题的经验?谢谢

相关代码如下:

function loadSlide(url,data) {
data.slide_id = $('#slide-data input#slide_id').val();
$.getJSON(url, data, function(response) {
    $('#slide-content').replaceWith(response.html);

        if ( $("#vmap").length > 0 ) {

              $('#vmap').vectorMap({
                map: 'usa_en',
                backgroundColor: null,
                color: '#6a1912',
                hoverColor: '#fdb33f',
                selectedColor: '#fdb33f',
                enableZoom: true,
                showTooltip: true,
                onRegionClick: function(event, code, region) {
                    event.preventDefault();
                    $('input[type=hidden]#state-click').val(code.toUpperCase());
                    console.log($('input[type=hidden]#state-click').val());
                }
            });

            $('#vmap').bind('regionClick.jqvmap', function(event, code, region) {
                $('input[type=hidden]#state-click').val(code.toUpperCase());
                console.log($('input[type=hidden]#state-click').val());
            });

            setClickHandlers();
        }
    });
}

我知道这是一个老问题,但我敢打赌问题出在Console.log行?

这可能是一个非常幼稚的语句,但我不知道Console.log会影响函数是否启动。是的,除非Firebug打开,否则在IE>8或FF中不会定义Console对象。在Chrome中,它总是被定义的。处理它的一种方法是在未定义时定义它:if(!window.console)console={log:function(){};