UNPKG

pure-scroll

Version:

一个简洁且好用的滚动库, 基于better-scroll封装

51 lines (46 loc) 1.04 kB
/** * 触发dom事件/自定义事件 * @param {*} wrapper * @param {*} eventName * @param {*} x * @param {*} y */ export function trigger(wrapper, eventName, x = 0, y = 0) { const el = 'element' in wrapper ? wrapper.element : wrapper; const touchList = [{ target: el, clientX: x, clientY: y }]; // 自定义事件 const event = customEvent(eventName); // 扩展 Object.assign(event, { clientX: x, clientY: 100, touches: touchList, targetTouches: touchList, changedTouches: touchList, }); // 触发自定义事件 el.dispatchEvent(event); } /** * 自定义事件 * @param {*} eventName */ function customEvent(eventName) { var event; if (window.CustomEvent) { // 新版自定义事件 event = new window.CustomEvent(eventName, { canBubble: true, cancelable: true }); } else { // 已被废弃的方法,做兼容 event = document.createEvent('CustomEvent'); event.initCustomEvent(eventName, true, true); } return event; }