/** * 全局被动事件监听器封装 * @param {Element} element 目标元素 * @param {string} eventType 事件类型(如 'wheel'、'mousewheel') * @param {Function} handler 事件处理函数 */ export default function addPassiveEventListener(element, eventType, handler) { // 检测浏览器是否支持 passive 选项 let supportsPassive = false; try { const opts = Object.defineProperty({}, 'passive', { get() { supportsPassive = true; } }); window.addEventListener('test', null, opts); } catch (e) {} // 添加事件监听器,强制使用 passive: true element.addEventListener( eventType, handler, supportsPassive ? { passive: true } : false ); }