【问题标题】:How to generate mousewheel event in jQuery/Javascript?如何在 jQuery/Javascript 中生成鼠标滚轮事件?
【发布时间】:2015-09-22 08:19:49
【问题描述】:

我有两个按钮的网页,当点击它们时,我想调用鼠标滚轮向上/向下事件。不是scrollToscrollBy - 我需要鼠标滚轮。
我怎样才能做到这一点?是否可以使用jquery.mousewheel 插件或通常的 Javascript?

【问题讨论】:

    标签: javascript jquery dom-events mousewheel


    【解决方案1】:

    鼠标滚轮事件在现代浏览器中称为“onwheel”。尝试触发那个。

    【讨论】:

      【解决方案2】:

      以下解决方案对我很有效

        //Firefox
       $('#elem').bind('DOMMouseScroll', function(e){
           if(e.originalEvent.detail > 0) {
               //scroll down
               console.log('Down');
           }else {
               //scroll up
               console.log('Up');
           }
      
           //prevent page fom scrolling
           return false;
       });
      
       //IE, Opera, Safari
       $('#elem').bind('mousewheel', function(e){
           if(e.originalEvent.wheelDelta < 0) {
               //scroll down
               console.log('Down');
           }else {
               //scroll up
               console.log('Up');
           }
      
           //prevent page fom scrolling
           return false;
       });
      

      【讨论】:

      • api.jquery.com/bind “从 jQuery 1.7 开始,.on() 方法是将事件处理程序附加到文档的首选方法。”
      • 我说的不是绑定事件。我想让浏览器认为当用户单击页面上的按钮时发生了鼠标滚轮。
      • 然后点击按钮触发鼠标滚动,代码如下 var e = jQuery.Event( "DOMMouseScroll",{delta: -650} ); jQuery("#selector").trigger(e);
      【解决方案3】:

      您无法触发鼠标滚轮。 (无论是 jQuery 还是 php 或其他网页代码都无法做到这一点)

      如果要触发事件绑定到鼠标滚轮。

      也许您可以尝试使用 scrollTo 将相同的事件绑定到按钮?

      鼠标滚轮也是如此。

      【讨论】:

      • 我需要缩放,而不是滚动。
      猜你喜欢
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      相关资源
      最近更新 更多