0

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

我正在使用名为 loadSlide 的函数动态加载地图,但由于某种原因,没有调用 onRegionClick 方法,也没有调用我之后调用的 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();
        }
    });
}
4

1 回答 1

1

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

于 2012-09-26T23:28:25.730 回答