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();
}
});
}