javascript - 在 D3 中设置后如何删除缩放功能?

标签 javascript d3.js

我的强制布局中有缩放功能。我只在按下 ctrl 键时调用它:

.on("mousedown", function () {  
            if (d3.event.ctrlKey) 
            {
                d3.select('#selectContainer').call(zoom).on("dblclick.zoom", null);             
            } 
        })

这很好用,第一次但很明显,如果我在鼠标按下时按下 ctrl,这将无限期地附加到我的元素。我的问题是,如果我的鼠标处于关闭状态并且我没有按住 ctrl,我该如何删除它?

像这样的(显然行不通):

 .on("mousedown", function () {  
            if (d3.event.ctrlKey)  
            {                

    d3.select('#selectContainer').call(zoom).on("dblclick.zoom", null);             
            } else {
                d3.select('#mainViewerContainerDiv').on("zoom", null);
            }
        })

最佳答案

.zoom替换zoom

d3.select('#mainViewerContainerDiv').on(".zoom", null);

关于javascript - 在 D3 中设置后如何删除缩放功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36499586/

相关文章:

d3.js - 平静力量布局的初始刻度

javascript - 更改包装的原始数据类型的值

javascript - D3 布局强制从折叠的子项开始

JavaScript scrollTop 不适用于移动设备

javascript - 如何将 mySQL JSON 列转换为 javascript 数组?

d3.js - 如何根据数据值将特定颜色应用于 D3.js map ?

javascript - 酒吧没有正确隐藏

typescript - 在 switch 语句中分配 Typescript 类型

javascript - [-1,1][+!!boolean_var] 的含义

javascript - 在某些浏览器中 getDay() 出现无效日期错误