首页 > 解决方案 > 使触控板滚轮事件运行一次

问题描述

我正在尝试在我的应用程序的鼠标触控板上实现向后和向左滑动。我尝试使用滚动,但我认为因为我的应用程序已将溢出设置为隐藏(这是必要的),所以没有任何反应。这是我的代码:

window.addEventListener('wheel', function(event) {
    event.preventDefault();

    let deltaX = Math.sign(event.deltaX);

    // Check for pinch/zoom
    if (event.ctrlKey) {
        if (event.wheelDelta > 0) {
            // increase zoom
        } else {
            // decrease zoom
        }
        // when deltaX is 1 or -1, a swipe action has taken place
    } else if (deltaX == -1) {
        // go forward
        goForward();
    } else if (deltaX == 1) {
        // go back
        goBack();
    }
}

现在,这种方法有效,但由于不断滑动,goForward 和 goBack 函数会一次又一次地运行。我希望他们只运行一次。我还想考虑到用户可以一次又一次地滑动的事实。有什么帮助吗?另外,是否有可能以某种方式调用滚动并将溢出设置为隐藏,因为这会让我的生活更轻松?非常感谢

标签: javascript

解决方案


推荐阅读