UNPKG

h5p-lib-controls

Version:

Library for adding user input to web applications

29 lines (24 loc) 693 B
import {Keys, onKey} from './keys' /** * Handle click events for elements not natively handling enter & space key as click * @param {jQuery} $element * @param {Function} callback * @param {Object} */ export const onClick = ($element, callback, {ignoreKeyboard = false, preventDefaultForKeys = true} = {}) => { const doCallback = (event) => { if (event.type !== 'click' && preventDefaultForKeys) { event.preventDefault(); } callback(event); }; // Listen to mouseclicks $element.click(doCallback); if (ignoreKeyboard !== true) { // Listen to space + enter onKey($element, [ {key: Keys.SPACE}, {key: Keys.ENTER} ], doCallback); } };