首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止鼠标滚轮事件的默认操作

如何防止鼠标滚轮事件的默认操作
EN

Stack Overflow用户
提问于 2013-10-26 04:30:40
回答 1查看 1.7K关注 0票数 0

我正在构建一个d3.js条形图,它将允许我在x轴上滚动,方法是将具有固定宽度和高度的svg元素包装在具有溢出属性的较小div中。这种可视化是在一个处理数据并提供javascript代码编辑器来创建可视化的平台上构建的。发布代码后,条形图将呈现在html div元素中。

呈现条形图的页面有一个默认的缩放事件,该事件在您使用鼠标滚轮时触发。因为我想使用鼠标滚轮在我的条形图中滚动,所以我试图通过在代码中包含以下语句来停止默认的缩放操作:

代码语言:javascript
复制
$(vizhtmlelement).mousewheel(function() {
    return false;
});

这可以成功地删除缩放功能,但也会阻止使用鼠标滚轮进行滚动。有没有一种方法可以在保持鼠标滚轮滚动的同时阻止鼠标滚轮缩放发生?

EN

回答 1

Stack Overflow用户

发布于 2013-10-26 12:07:23

在.call()缩放函数的任何元素上,都需要将其鼠标滚轮行为设置为null。因此,如果您使用id为"yourElement“的a或进行缩放(.call),那么它将如下所示:

代码语言:javascript
复制
d3.select("#yourElement")
.call(myZoom)
.on("dblclick.zoom", null)
.on("mousewheel.zoom", null)
.on("DOMMouseScroll.zoom",null);

请注意,我还禁用了双击缩放功能,因为您可能也希望禁用该功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19598927

复制
相关文章

相似问题

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