账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mac本的触控板多次触发滚轮事件,为什么?
    • 2018-06-05 00:00
    • 11
    62
    0

    监听滚轮事件进行整屏翻动动画,我用mac本的触摸板,当滑动的快的时候,会多次触发我的动画,但是我的每个滚动都有开关,动画开始,开关关闭;动画完毕,开关打开,开始接受下一个滚动动画;在监听滚轮滚动事件时,我只是监听了他的滚动方向,返回值为正负,来判断是向上还是向下滑,并没有监听他的滚动速度,即使mac本上的滚动速度不恒定,但正负是不变的 ,我只监听了他的正负,但出现以上问题,不知道问题在哪?正常浏览器没有问题。下面是监听滚轮滚动方向兼容各浏览器的函数,求大神解答

    window.onload = function () {
            var oDiv = document.getElementById('div1');
     
            function onMouseWheel(ev) {/*当鼠标滚轮事件发生时,执行一些操作*/
                var ev = ev || window.event;
                var down = true; // 定义一个标志,当滚轮向下滚时,执行一些操作
                    down = ev.wheelDelta?ev.wheelDelta<0:ev.detail>0;
                if(down){
                    oDiv.style.height = oDiv.offsetHeight+10+'px';
                }else{
                    oDiv.style.height = oDiv.offsetHeight-10+'px';
                }
                if(ev.preventDefault){/*FF 和 Chrome*/
                    ev.preventDefault();// 阻止默认事件
                }
                return false;
            }
            addEvent(oDiv,'mousewheel',onMouseWheel);
            addEvent(oDiv,'DOMMouseScroll',onMouseWheel);
         }
        function addEvent(obj,xEvent,fn) {
            if(obj.attachEvent){
                obj.attachEvent('on'+xEvent,fn);
            }else{
                obj.addEventListener(xEvent,fn,false);
            }
        }
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 谎言成双; 普通会员 1楼

      触控板多次触发滚轮事件可能是因为以下原因:

      1. 用户误操作:用户可能不小心按下了滚轮按钮,或者按下了其他键。这种情况通常不会持续很久,但如果你在短时间内多次按下了滚轮,可能需要重新启动电脑或查看最近的操作记录来找出问题的原因。

      2. 系统设置问题:系统设置可能影响了滚轮事件的触发。例如,你可能在系统设置中禁用了滚轮事件。在这种情况下,你可以检查你的系统设置,看看是否有相关设置需要调整。

      3. 触控板硬件问题:如果你的触控板有问题,可能也会导致滚轮事件的触发。在这种情况下,你可能需要联系电脑制造商或专业技术人员进行检查和修理。

      4. 应用程序问题:某些应用程序可能会影响滚轮事件的触发。例如,一些游戏或应用程序可能会限制滚轮事件的使用。在这种情况下,你可以尝试禁用这些应用程序,看看是否解决了问题。

      以上是一些可能的原因,具体的原因需要根据你的实际情况来确定。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部