我正在尝试找出一种在某些比例下禁用 Sketch 小部件的方法。
目前我有可以完全添加或删除小部件的工作代码,但这不符合我的要求。
我看到 Sketch 小部件有一个“状态”属性,但它是只读的,我找不到影响状态的方法或其他属性。
我需要能够禁用整个小部件或至少禁用所有绘图/编辑工具。
我正在尝试找出一种在某些比例下禁用 Sketch 小部件的方法。
目前我有可以完全添加或删除小部件的工作代码,但这不符合我的要求。
我看到 Sketch 小部件有一个“状态”属性,但它是只读的,我找不到影响状态的方法或其他属性。
我需要能够禁用整个小部件或至少禁用所有绘图/编辑工具。
禁用小部件按钮的一种方法是将pointer-events
style 属性设置为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 结果。
您不能禁用草图工具,因为用户已经开始在地图上绘制几何图形。
一旦用户在地图上激活了绘制工具,您就可以控制地图的缩放行为;我的意思是不允许用户从某个地图比例缩小(如果工具处于活动状态)。