echarts柱狀圖的點(diǎn)擊事件代碼示例
先來(lái)一段簡(jiǎn)潔的寫(xiě)echarts圖表的代碼:
// 這樣獲取echarts的dom節(jié)點(diǎn)是因?yàn)椋喝绻麑⒅鶢顖D封裝成了一個(gè)組件,在一個(gè)頁(yè)面中多次使用,若還是按常規(guī)獲取dom節(jié)點(diǎn),會(huì)報(bào)一個(gè)警告 let charts = echarts.getInstanceByDom( document.getElementById(props.id) ) if (charts == null) { charts = echarts.init(document.getElementById(props.id)) } charts.clear() let option = { ... } charts.resize() charts.setOption(option)
如圖所示,如果柱狀圖需要有點(diǎn)擊事件: 但這只是點(diǎn)擊藍(lán)色柱條部分才會(huì)觸發(fā)點(diǎn)擊事件的寫(xiě)法
myChart.on('click', function (params) { console.log(params) })
如果柱條沒(méi)有數(shù)據(jù),用上述方法點(diǎn)擊時(shí)將不會(huì)觸發(fā),如果無(wú)數(shù)據(jù)點(diǎn)擊背景也依舊想觸發(fā)點(diǎn)擊事件,就用下面方法:
charts.getZr().off('click') // 先取消點(diǎn)擊,再觸發(fā),免得造成連續(xù)抖動(dòng)觸發(fā) charts.getZr().on('click', function (params) { // 這個(gè)部分照抄,你想通過(guò)點(diǎn)擊拿到的當(dāng)前柱條的數(shù)據(jù),都可以在下面這些屬性中拿到,如果我注釋沒(méi)有你想要的,需要console一下charts.getOption()查找對(duì)應(yīng)的屬性名 let pointInPixel = [params.offsetX, params.offsetY]; if (charts.containPixel('grid', pointInPixel)) { let pointInGrid = charts.convertFromPixel({ seriesIndex: 0 }, pointInPixel); let xIndex = pointInGrid[1]; // 索引 let handleIndex = Number(xIndex); let seriesObj = charts.getOption(); // 圖表object對(duì)象 let op = charts.getOption(); //獲得圖表中點(diǎn)擊的列 let dataY = op.yAxis[0].data[handleIndex]; //獲取點(diǎn)擊的列名 let dataX = seriesObj.series[0].data[handleIndex] // 獲取當(dāng)前點(diǎn)擊的柱條的數(shù)值 ... // 寫(xiě)獲取到當(dāng)前點(diǎn)擊需要的數(shù)值后的操作 } })
另外,再補(bǔ)充一下劃過(guò)和劃出事件的寫(xiě)法,屬性是一樣的,就是事件名比較獨(dú)特: mousemove mouseout
,這兩對(duì)應(yīng),必須這樣寫(xiě),寫(xiě)其他的可能無(wú)效
// 劃過(guò) charts.getZr().off('mousemove'); charts.getZr().on('mousemove', function(params) { })
// 劃出 charts.getZr().off('mouseout'); charts.getZr().on('mouseout', function(params) { })
總結(jié)
到此這篇關(guān)于echarts柱狀圖的點(diǎn)擊事件的文章就介紹到這了,更多相關(guān)echarts柱狀圖點(diǎn)擊事件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
HTML頁(yè)面登錄時(shí)的JS驗(yàn)證方法
這篇文章主要介紹了HTML界面登錄時(shí)的JS驗(yàn)證方法,需要的朋友可以參考下2014-05-05JavaScript中將字符串轉(zhuǎn)換為數(shù)字的七種方法總結(jié)
在js的使用中往往伴隨著有格式帶來(lái)的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于JavaScript中將字符串轉(zhuǎn)換為數(shù)字的七種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09JavaScript數(shù)據(jù)結(jié)構(gòu)常見(jiàn)面試問(wèn)題整理
在JavaScript中,數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,是帶有結(jié)構(gòu)特性的數(shù)據(jù)元素的集合。常用的數(shù)據(jù)結(jié)構(gòu)有:數(shù)組、列表、棧、隊(duì)列、鏈表、字典、集合等等2022-08-08淺析ES6的八進(jìn)制與二進(jìn)制整數(shù)字面量
這篇文章給大家介紹了ES6特性中的八進(jìn)制和二進(jìn)制整數(shù)字面量,介紹的挺不錯(cuò)的現(xiàn)在分享給大家,有需要的可以參考借鑒。2016-08-08基于JS正則表達(dá)式實(shí)現(xiàn)模板數(shù)據(jù)動(dòng)態(tài)渲染(實(shí)現(xiàn)思路詳解)
這篇文章主要介紹了基于JS正則表達(dá)式實(shí)現(xiàn)模板數(shù)據(jù)動(dòng)態(tài)渲染 ,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03