【问题标题】:JAVASCRIPT : Mouse wheel turningJAVASCRIPT:鼠标滚轮转动
【发布时间】:2013-11-06 13:14:32
【问题描述】:

我有一个没有滚动的页面。

如何在鼠标滚轮转动时设置警报(例如)?

例如当鼠标滚轮打开一个元素时:

$(document).ready(function(){
  $('#div').mouseWheel(function(){
    alert('test');
  });
});

【问题讨论】:

    标签: javascript jquery mousewheel


    【解决方案1】:

    好的,如果你需要鼠标滚轮,你应该考虑jquery-mousewheel plugin。在那里你可以绑定 'mousewheel' 事件。

    该事件还带有deltaX和deltaY信息,从中可以推断鼠标滚轮是向上滚动(deltaY > 0)还是向下滚动(deltaY

    action 中查看它鼠标滚轮向上/向下检测

    HTML:

    <div id="mydiv" style="background: green; width: 400px; height: 400px;">
        a div
    </div>
    

    JAVASCRIPT:

    $('#mydiv').hover(function() {
       $(this).data('hover',1); // mouse is over the div
    }, function(){
       $(this).data('hover',0); // mouse is no longer over the div
    });
    
    $(document).mousewheel(function(event, delta, deltaX, deltaY) {
        if($('#mydiv').data('hover') == 1 && $(document).attr('alert-on') != 1) {
            $(document).attr('alert-on', 1) 
            if(deltaY > 0) {
                alert('wheel scrolls up');
            } else {
                alert('wheel scrolls down');
            }
            $(document).attr('alert-on', 0) 
        }
    });
    

    它的作用是在鼠标悬停时在您的 div 上设置一个标志,一旦捕获到鼠标滚轮事件,它会检查您是否使用鼠标在 &lt;div&gt; 上,如果是,它会显示一个警告框。

    它还会在显示警告框的文档上设置一个标志,因为每次稍微转动滚轮时都会触发鼠标滚轮事件,这会导致许多警告框相互堆叠。

    【讨论】:

    • 谢谢,但我的页面没有滚动 :) 我想找到鼠标滚轮之类的事件或其他东西
    • 嗨,没问题我已经更新了我的答案和jsfiddle演示,请尝试。
    • 谢谢老兄。如何找到鼠标滚轮向上或向下?
    【解决方案2】:

    您可以检测到滚动,但无法检测是通过鼠标滚轮、滚动条、指垫、触摸屏还是其他方式。

    你在浏览器中得到的只是一个滚动事件。

    我猜这不是你想听到的。对不起。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多