mkdir('../stuff/newfolder', 0777, true);
我想在点击时运行功能。 但是当页面加载时它会运行。
var event = function(id) {
alert(id);
}
textProgressBar.generator('20', text1, event("test"));
this.generator = function (percentage, text, event, type) {
....
$(this.id).children().last().on('click', event);
}
如果我将参数传递给textProgressBar.generator('20', text1, event("test"));
函数,则会在加载页面时运行。
如何在加载页面时阻止此功能?
答案 0 :(得分:1)
这一行:
textProgressBar.generator('20', text1, event("test"));
调用 event
并将其返回值传递到textProgressBar.generator
,与foo(bar())
调用 bar
的方式完全相同将其返回值传递给foo
。
如果要将函数传递给generator
,则需要传递函数引用而不是调用函数。
两种方法:
包装函数:
textProgressBar.generator('20', text1, function() { event("test"); });
在那里,我们创建了一个函数(一个匿名函数),当它被赋值时,会调用event
作为参数传递"test"
。
Function#bind
:
textProgressBar.generator('20', text1, event.bind(null, "test"));
Function#bind
创建一个新函数,在调用时,将使用给定的this
值(在我的示例中为null
)调用原始函数,并为您提供任何参数bind
(我的例子中"test"
)。