我正在使用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();
}
});
}
答案 0 :(得分:1)
我知道这是一个老问题,但我打赌问题是Console.log行?