gpt4 book ai didi

javascript - 如何从另一个有参数的函数调用带参数的函数?

转载 作者:行者123 更新时间:2023-11-30 10:08:31 25 4
gpt4 key购买 nike

我正在使用 D3和 JS。

我有一个创建按钮的函数,其中一个参数是 onClick,它在单击按钮时运行(很明显)。

例如:

simpleButton(imageURL, width, height, title, onClick){
.attr("xlink:href", imageUrl) //-original image
.attr( "width", width) //-icon width
.attr( "height", height) //-icon height
.on("click", onClick)
.append("svg:title")
.text(title); //-give the button a title
}

现在我将使用我的一个按钮来隐藏一些形状(即设置 visibility:hidden)。

所以我创建了另一个函数来隐藏选择,例如:

hideSelection(selection){
selection.classed("hidden", true);
}

此函数采用一个参数,以便我可以传递我想要隐藏的内容。

例如,我认为可行的方法如下所示:

simpleButton("\images\dog", 100, 100, "dog", hideSelection(dog));

现在,这确实有效,但无需我点击它就立即有效。我知道这是因为我直接调用了 hideSelection 因为括号 - ()。

但我的问题是,如何在运行时立即停止调用此函数?如何通过另一个有参数的函数运行一个有参数的函数(如果这有意义的话)?

最佳答案

你应该将它包装在一个匿名函数中:

simpleButton("\images\dog",100,100, "dog", function() {
hideSelection(dog)
});

此函数可以访问 dog 变量,因为它是一个 closure - 在创建时有权访问父作用域的函数。

关于javascript - 如何从另一个有参数的函数调用带参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27823666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com