From ed73dce18bd5a2d523409d1fcaadaf2bcdd1d89c Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Sun, 20 Jun 2021 20:11:30 +0300 Subject: [PATCH] Docs: describe catching events with plugin (#9296) --- docs/configuration/interactions.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/configuration/interactions.md b/docs/configuration/interactions.md index 8ec5babb6..370244bae 100644 --- a/docs/configuration/interactions.md +++ b/docs/configuration/interactions.md @@ -56,6 +56,30 @@ var chart = new Chart(ctx, { }); ``` +Events that do not fire over chartArea, like `mouseout`, can be captured using a simple plugin: + +```javascript +var chart = new Chart(ctx, { + type: 'line', + data: data, + options: { + // these are the default events: + // events: ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'], + }, + plugins: [{ + id: 'myEventCatcher', + beforeEvent(chart, args, pluginOptions) { + const event = args.event; + if (event.type === 'mouseout') { + // process the event + } + } + }] +}); +``` + +For more information about plugins, see [Plugins](../developers/plugins.md) + ### Converting Events to Data Values A common occurrence is taking an event, such as a click, and finding the data coordinates on the chart where the event occurred. Chart.js provides helpers that make this a straightforward process. -- 2.47.2