3
回答
IE8下无法捕捉echarts点击事件
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

@Kener-林峰 你好,想跟你请教个问题:

chart.on(ecConfig.EVENT.CLICK, func);

我想用以上代码捕捉item的点击事件

但是在IE8下点击item时基本不触发func,只有在快速随意点击item多次的情况下才偶尔触发

鼠标放置在item上时,会发生飘忽不定的情况,

Chrome下没有这个问题

以下是我定义的js文件


var stack_charts_config = null;
function stackCharts(cfg) {
	stack_charts_config = cfg;
	require.config({
		paths : {
			'echarts' : 'js/echarts/echarts', // 文件指向路径,指向echarts包下的echarts.js文件
			'echarts/chart/bar' : 'js/echarts/echarts' // 指向需要的图表类型
		}
	});
	for ( var i = 0; i < stack_charts_config.urls.length; i++) {
		$('body').append(
				'<div id="stack_charts_' + i
						+ '" style="height: 220px; width:570px;"></div>');
	}
	stackChartsShow(0, null);
}

function stackChartsShow(index, data) {
	require([ 'echarts', 'echarts/chart/bar' ], function(ec) {
		var chart = document.getElementById('stack_charts_' + index);
		if (!stack_charts_config.lastGrid
				|| stack_charts_config.urls.length != index + 1) {
			chart = ec.init(chart);
			chart.index = index;
		}
		$.ajax({
			url : stack_charts_config.urls[index],
			type : "post",
			cache : false,
			data : data,// 传入的参数
			dataType : "json",
			success : function(data) {
				if (stack_charts_config.lastGrid
						&& stack_charts_config.urls.length == index + 1) {
					// TODO添加列表
				} else {
					chart.setOption(data.data.options[0],true );
					var ecConfig = require('echarts/config'); chart.on(ecConfig.EVENT.CLICK, stackChartsShowNext);
				}
			}
		});
	});
}

function stackChartsShowNext(item) {
	stackChartsShow(this.index + 1, {
		'name' : item.name
	});
}

其中后台请求返回的是已经定义的option

以下是页面代码

<!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<script type="text/javascript" src="<%=request.getContextPath()%>/js/echarts/esl.js"></script>
	<script type="text/javascript" src="<%=request.getContextPath()%>/js/echarts/jquery.min.js"></script>
	<script type="text/javascript" src="<%=request.getContextPath()%>/js/jQueryEcharts/stack-charts.js"></script>
  </head>
  
  <body>
    <script type="text/javascript">
   	stackCharts({
			urls : [ '/CentralEnterprisesSys/echarts/createBar.do',
					'/CentralEnterprisesSys/echarts/ajaxPie.do',
					'/CentralEnterprisesSys/echarts/ajaxLine.do' ]
		});
    </script>
  </body>
求指教

echarts用的版本是2.0.4。



举报
向日葵0817
发帖于3年前 3回/461阅
顶部