We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/** * @description UserEventsChecker 检测工具 * @author xgqfrms * @class UserEventsChecker * @created 2021.03.26 * @modified 2021.03.26 */ class UserEventsChecker { constructor (name = '', callback = () => '') { // init this.name = name?.toLocaleLowerCase() ?? 'default name'; this.init(callback); } init (callback) { // this.keyboardEvents(callback); // this.mouseEvents(callback); // this.pointerEvents(callback); } static autoGetKeys (e = {}) { const { altKey, ctrlKey, metaKey, shiftKey, type, code, charCode, key, keyCode, which, } = e ?? {}; // 🚀 通过 ES6 解构获取 prototype 上隐藏的 keys return { altKey, ctrlKey, metaKey, shiftKey, type, code, charCode, key, keyCode, which, }; } keyboardEvents (callback = () => '') { // keyboard events: down, up, press document.addEventListener('keydown', (e) => { // console.log('keydown e', e); callback(AutoGetKeys(e)) }); document.addEventListener('keyup', (e) => { // console.log('keyup e', e); callback(AutoGetKeys(e)) }); document.addEventListener('keypress', (e) => { // console.log('keypress e', e); callback(AutoGetKeys(e)) }); } mouseEvents (callback = () => '') { // mouse events: click, dblclick, mouseup, mousedown, mousemove document.addEventListener('click', (e) => { // console.log('mouse click e', e); callback(AutoGetKeys(e)) }); document.addEventListener('dblclick', (e) => { // console.log('mouse dblclick e', e); callback(AutoGetKeys(e)) }); document.addEventListener('mouseup', (e) => { // console.log('mouse up e', e); callback(AutoGetKeys(e)) }); document.addEventListener('mousedown', (e) => { // console.log('mouse down e', e); callback(AutoGetKeys(e)) }); document.addEventListener('mousemove', (e) => { // console.log('mouse move e', e); callback(AutoGetKeys(e)) }); } pointerEvents (callback = () => '') { // pointer events: down, up, move, over, out, enter, and leave document.addEventListener('pointerdown', (e) => { // console.log('pointer down', e); callback(AutoGetKeys(e)) }); document.addEventListener('pointerup', (e) => { // console.log('pointer up', e); callback(AutoGetKeys(e)) }); document.addEventListener('pointermove', (e) => { // console.log('pointer move', e); callback(AutoGetKeys(e)) }); document.addEventListener('pointerover', (e) => { // console.log('pointer over', e); callback(AutoGetKeys(e)) }); document.addEventListener('pointerout', (e) => { // console.log('pointer out', e); callback(AutoGetKeys(e)) }); document.addEventListener('pointerenter', (e) => { // console.log('pointer enter', e); callback(AutoGetKeys(e)) }); document.addEventListener('pointerleave', (e) => { // console.log('pointer leave', e); callback(AutoGetKeys(e)) }); } } /** * * @e events */ const AutoGetKeys = (e = {}) => { const { altKey, ctrlKey, metaKey, shiftKey, type, code, charCode, key, keyCode, which, } = e; // 🚀 通过 ES6 解构获取 prototype 上隐藏的 keys return { altKey, ctrlKey, metaKey, shiftKey, type, code, charCode, key, keyCode, which, }; }; export { // UserEventsChecker, AutoGetKeys, }; export default UserEventsChecker;
The text was updated successfully, but these errors were encountered:
GitHub/cnblogs/test-notes/test.html
Sorry, something went wrong.
No branches or pull requests
UserEventsChecker 检测工具
The text was updated successfully, but these errors were encountered: