移动端(手机)ECharts 的myChart.on(‘click‘,还生效吗我怎么触发不了,没得鼠标触发不了点击事件
移动端可以DOM事件替代 myChart.getDom().addEventListener('mousedown', function (event) {
写在setOption(option)后面这样手机也能触发pc端一样的饼图效果
await myChart.setOption(option);myChart.getDom().addEventListener('mousedown', function (event) {const params = event.target;if (params) {let fillColor = params.getAttribute('fill'); // 获取 fill 属性if (fillColor && fillColor.startsWith('rgb')) {const result = fillColor.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if (result) {const r = parseInt(result[1]).toString(16).padStart(2, '0');const g = parseInt(result[2]).toString(16).padStart(2, '0');const b = parseInt(result[3]).toString(16).padStart(2, '0');fillColor = `#${r}${g}${b}`.toUpperCase();}} else {fillColor = fillColor?.toUpperCase();}const dataIndex = chartData.findIndex((item) => item.color == fillColor);if (dataIndex !== -1) {// 清除之前高亮的状态myChart.dispatchAction({type: 'downplay', // 清除之前高亮的状态seriesIndex: 0,dataIndex: null, // 取消所有高亮});// 高亮当前选中的区域myChart.dispatchAction({type: 'highlight',seriesIndex: 0,dataIndex: dataIndex,});// 显示提示框myChart.dispatchAction({type: 'showTip',seriesIndex: 0,dataIndex: dataIndex,});}}
});