之前做了一個時間軸折線圖,處理思路是,在線條上層繪制一個rect,然后屏蔽掉折線區域,之后為rect添加zoom事件。
昨天在做一個時間軸的非連續線段,需要加入線段的點擊事件,由于rect將線條屏蔽,所以思路是,通過將mouse位置x,y轉化為時間及數值,然后通過計算,判斷位于那個線段只上。
今天早上回顧了下,感覺邏輯有點南轅北轍,因此將rect下調一層,將線段層上移,之后為rect,線條都添加相同的zoom事件。之后直接為線段添加onClick事件。
//添加縮放事件
zoomRoot.call(zoom)
lines.call(zoom)
Tip.call(zoom)