我正在尝试通过变量传递一个函数作为click事件的一部分,例如:
function bindClick(func) {
$('#button').click(function() {
func();
return false;
});
}
function configureClick() {
bindClick(function () { executeClick(message); });
}
function executeClick(message) {
alert(message);
}
所以configureClick()
会在某个时刻运行,然后#button.click()
需要调用func
的内容。
无论发生什么事情,都是默默地这样做,没有错误或期望的行为。
更新:我是个白痴!上面的代码正在运行。我的executeClick
有一个switch-case块,当我传递错误的密钥时,它被忽略了。抱歉D:
答案 0 :(得分:1)
你做了太多的回调函数传递。那就是“创造了大量的封闭,这在一个简单的案例中是不需要的。”
function bindClick(func) {
$('#button').click(function() {
func();
return false;
});
}
function executeClick(message) {
alert(message);
}
function configureClick(message){
bindClick(function(){ executeClick(message) });
}
configureClick('Hello');