Custom event listeners
Attach any custom event listeners to specific nodes in your component, or to the entire component itself.
Use the eventHandlers prop to register any JavaScript functions that should fire based on any event you care about. Mason offers two methods - you can target the entire component or you can target specific elements within the component.
Provide an
eventHandlers
prop to your component as an object that contains all of the custom event handler functions you want to register on your component. Register functions on the events you care about, with the syntax:
onEventName: (e) => // Any JavaScript function here
For example:
import React from 'react';
import { Canvas } from '@mason-api/react-sdk';
class MyFeed extends React.Component {
render() {
return <Canvas
id="YOUR_COMPONENT_ID"
eventHandlers={
{
onClick: (e) => alert("You clicked something in your component"),
onMouseOver: (e) => alert("You moved your mouse over something in your component")
}
/>;
}
}
Provide an
eventHandlers
prop to your component as an object that contains all of the custom event handler functions you want to register on your component. Register functions on the events and nodes you care about, with the syntax:
onLabelNameEventName: (e) => // Any JavaScript function here
You define the LabelName in the builder. For example, if you had a button named "login button", the onClick event listener syntax would be onLoginButtonClick.
For example:
import React from 'react';
import { Canvas } from '@mason-api/react-sdk';
class MyFeed extends React.Component {
render() {
return <Canvas
id="YOUR_COMPONENT_ID"
eventHandlers={
{
onButtonOneClick: (e) => alert('Click triggered on Button One'),
onButtonThreeDoubleClick: (e) => alert('Double-clicked triggered on Button Three'),
onButtonFiveMouseDown: (e) => alert('Mousedown triggered on Button Five'),
onButtonSevenMouseUp: (e) => alert('Mouseup triggered on Button Seven'),
onButtonNineMouseOut: (e) => alert('Mouseout triggered on Button Nine'),
}
}
/>
}
}
JavaScript event | Mason Syntax |
onClick / onLabelNameClick | |
onDoubleClick / onLabelNameDoubleClick | |
onMouseDown / onLabelNameMouseDown | |
onMouseUp / onLabelNameMouseUp | |
onMouseOut / onLabelNameMouseOut | |
onMouseLeave / onLabelNameMouseLeave | |
onMouseEnter / onLabelNameMouseEnter | |
onMouseOver / onLabelNameMouseOver | |
onKeyDown / onLabelNameKeyDown | |
onKeyUp / onLabelNameKeyUp | |
onFocus / onLabelNameFocus | |
onBlur / onLabelNameBlur |
Last modified 4yr ago