1. 程式人生 > >echarts 地圖點選事件問題

echarts 地圖點選事件問題

有個需求,在同一個div裡面放置多個地圖(切換頁面按鈕,該div的地圖隨之變化為相應資料的地圖)

發現有個問題就是每個地圖都設定了點選事件。然後無論切換到那個地圖,都會響應前一個地圖的相應事件!!!

找了一下網上的說法,說要先清除點選事件,然後設定點選事件。

myChart.off('click');
myChart.on('click', function(){
        // do something
});

但是這種方法在我這裡無效,.off is not a function

後來找到了一個方法: 

function shareThredOnClick(warnType,index3){
	$(".chart-box").html('<div id="chart4" style="width:100%;height:98%;"></div>');
	var myChart = echarts.init(document.getElementById('chart4'));
	myChart.clear();
	myChart.setOption(option3_2);
	myChart.on('click',function(param){
		toWarnInitSEL(warnType,param.data.code,param.data.name);
	});
	layer.close(index3);
}

因為我的echarts 是頁面一載入的時候就已經載入了配置資訊的。

所以我在非同步拿到後臺資料後,將相應的資料設定到配置中後,再呼叫上面的方法。先將該div裡面的內容替換掉,然後重新設定echarts。並新增點選事件就沒有那個問題了。