首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于CTRL+MOUSEWHEEL事件

关于CTRL+MOUSEWHEEL事件
EN

Stack Overflow用户
提问于 2015-10-12 22:19:27
回答 1查看 12.7K关注 0票数 6

我被要求为我们的页面站点实现ctrl+mousewheel事件,以便在用户放大或缩小时更改图像偏移。我找到了这个老答案,Override browsers CTRL+(WHEEL)SCROLL with javascript,我也试着这么做。我下载了实现的jQuery Mouse Wheel Plugin,下面是我的代码:

代码语言:javascript
复制
var isCtrl = false;  
       $(document).on('keydown keyup', function(e) {
            if (e.which === 17) {
                isCtrl = e.type === 'keydown' ? true : false;
            }
        }).on('mousewheel', function(e, delta) { // `delta` will be the distance that the page would have scrolled;
            // might be useful for increasing the SVG size, might not
            if (isCtrl) {
                e.preventDefault();
                alert('wheel');
            }
        });

这两个事件单独运行良好,但如果我按住CTRL按钮并滚动鼠标,滚轮事件不会触发。有没有人有更好的解决方案,或者可能是我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-12 22:40:48

Fiddle,为了让它正常工作,你必须先点击result框,然后再尝试。

代码语言:javascript
复制
$(window).bind('mousewheel DOMMouseScroll', function(event) 
{
    if(event.ctrlKey == true)
    {
        event.preventDefault();
        if(event.originalEvent.detail > 0) {
             console.log('Down');
         }else {
             console.log('Up');
         }
    }
});
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33083484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档