我正在使用 d3 , svg 和 AngularJS 。
我已经编写了一些代码来使用d3处理svg元素上的mouseup
事件。代码如下:
<svg>
<!-- some other code-->
</svg>
function myFunction() {
var isMouseUp = false;
d3.select("svg").on("mouseup", func1);
}
function func1() {
isMouseUp = true;
}
如您所见,isMouseUp
是myFunction()
的局部变量。
我必须把它传递给func1()
。我怎么能这样做?
P.S。我不能让isMouseUp
全球化。另外,我无法将func1()
置于myFunction()
的本地。
答案 0 :(得分:5)
您可以通过在另一个函数中包含对func1
的调用来执行此操作:
function myFunction() {
var isMouseUp = false;
d3.select("svg").on("mouseup", function() { func1(isMouseUp); });
}
function func1(isMouseUp) {
isMouseUp = true;
}
演示here。