You must be logged in to post your query.
Home › Forums › Chart Support › How to handle mouse click event on both strip lines and data point
Hi, I have included data points click event function, in that made to show context menu
Also we have include strip lines with start and end date to it , for that added EventListener(solution provided by live chat team unable to find that js fiddle path) to get strip line popup
function LTEq_addEventListenertoCanvasChart() { $("#LTEq_chartContainer .canvasjs-chart-canvas").last().on("mousedown", function (e) { var tempAxisXStrippes = LTEq_canvasChart.axisX[0].stripLines; var phaseInfo; var pStDt, pEndDt; LTEq_isUserRightClickedOnPhaseBand = false; if (tempAxisXStrippes.length > 0) { for (var i = 0; i < tempAxisXStrippes.length; i++) { var parentOffset = $(this).parent().offset(); var xPos = e.pageX - parentOffset.left, yPos = e.pageY - parentOffset.top, bounds = LTEq_canvasChart.axisX[0].stripLines[i].bounds; if ((bounds != undefined && bounds.x1 != undefined && bounds.x2 != undefined && bounds.y1 != undefined && bounds.y2 != undefined) && ((bounds.x1 <= xPos && xPos <= bounds.x2) && (bounds.y1 <= yPos && yPos <= bounds.y2))) { phaseInfo = tempAxisXStrippes[i].options.tag; var jsParsePh = JSON.parse(phaseInfo); pStDt = new Date(jsParsePh.PhaseStDt); pEndDt = new Date(jsParsePh.PhaseEndDt); LTEq_isUserRightClickedOnPhaseBand = true; break; } } } if (phaseInfo != undefined) { LTEq_constructPhaseUpdatePopup(phaseInfo, pStDt, pEndDt); } }); }
Issue we are facing that when user wants to click datapoint to get context menu , they are getting striplines popup. So we tried to get strip line popup when right click on stripline ( e.which==3 in addEventListener function ) but we get browser context menu also along with that. Can you people provide solution to avoid browser context menu or disable back & reload functionality of browser context menu.
We tried to prevent browser context menu , this caused our custom context menu not working Then we tried to disable back functionality , found solution to prevents back, but it refreshes current page which is not our requirement
@spectra,
You can restrict click event from being fired for both stripLine and dataPoint simultaneously as shown in this JSFiddle.
___________ Indranil Deo Team CanvasJS
You must be logged in to reply to this topic. Login/Register