问题描述
我正在尝试找出一种在特定比例下禁用Sketch小部件的方法。
当前,我有可以完全添加或删除小部件的工作代码,但不满足我的要求。
我看到Sketch窗口小部件具有“状态”属性,但它是只读的,我找不到影响该状态的任何方法或其他属性。
我需要能够禁用整个窗口小部件,或者至少禁用所有绘图/编辑工具。
解决方法
禁用小部件按钮的一种方法是将pointer-events
样式属性设置为none
。
所以,假设您的小部件变量为sketch
,然后
const buttons = sketch.container.getElementsByTagName("button");
for (let i = 0; i < buttons.length; i++) {
buttons[i].classList.add("no-click");
}
no-click
在其中,
.no-click {
pointer-events: none !important;
}
我不确定您的实现方式,但是我认为您可以通过这些摘要来了解一下。
请务必在调用getElementsByTagName
之前加载窗口小部件,否则将获得0结果。
由于用户已经开始在地图上绘制几何图形,因此无法禁用草图工具。
一旦用户激活了地图上的绘图工具,就可以控制地图的缩放行为。我的意思是不允许用户从特定的地图比例缩小(如果工具处于活动状态)。