我想在按钮点击时切换控制,如果我按下按钮1,按钮2应该停止工作,如果我按下按钮2,按钮1应该停止工作。
以下是http://jsfiddle.net/6xuDh/2/我正在处理的代码 一个按钮1.我正在画一些东西,但按下按钮2我想做其他的事情但是现在一旦我按下按钮1它就不会失去控制
<input id="lineDraw" type="button" onclick="onButtonClick()" value ="wall"/>
<input id="door" type="button" onclick="onButtonClick()" value ="door"/>
document.getElementById("door").onclick = function(){
}
document.getElementById("lineDraw").onclick = function() {
}
答案 0 :(得分:1)
阅读FabricJS文档,您将看到Canvas扩展了具有Observable Mixin http://fabricjs.com/docs/fabric.Observable.html
的StaticCanvas此处的关键是使用off
功能分离要附加处理程序的事件。在没有处理程序引用(第二个参数)的情况下调用它会清除所有附加的处理程序。您可以在集中式功能中为每个按钮单击调用此方法。我希望你明白这个主意。祝你好运!
function clearEvents(){
canvas.off('mouse:down');
canvas.off('mouse:move');
canvas.off('mouse:up');
}
document.getElementById("door").onclick = function(){
clearEvents();
...
}
同样是一个小小的补充,当你附加到JS代码中的onclick事件时,你不需要内联onButtonClick()。