IE8下无法捕捉echarts点击事件

向日葵0817 发布于 2014/11/07 16:08
阅读 474
收藏 0

@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。



加载中
0
Kener-林峰
Kener-林峰

原生IE8?echarts-java?

这个例子试试? http://echarts.baidu.com/doc/example/event.html

向日葵0817
向日葵0817
是在原生IE8下测试的,官网的例子在IE8下没有问题,但是我将例子拷贝至我的jsp页面中,却相同的问题依旧出现,是因为我引的js文件不够亦或是什么问题?控制台没有报错。 我只引入了/esl.js和jquery.min.js这两个文件,
0
原来昵称可以乱写啊啊
echarts 3.0 在IE8上不能捕获单击事件。原本的单击才能响应的函数在IE8上没有效果。但是将模块进行拖拽就会能响应。这bug?
0
原来昵称可以乱写啊啊
“只有在快速随意点击item多次的情况下才偶尔触发 鼠标放置在item上时,会发生飘忽不定的情况”就是拖拽会触发。
返回顶部
顶部