我正在使用 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()
。我该怎么办?附言我无法将
isMouseUp
设置为全局。另外,我不能将func1()
本地化为myFunction()
。 最佳答案
您可以通过将对func1
的调用包装在另一个函数中来实现:
function myFunction() {
var isMouseUp = false;
d3.select("svg").on("mouseup", function() { func1(isMouseUp); });
}
function func1(isMouseUp) {
isMouseUp = true;
}
演示here。