[英]Pass a function by variable to another function to be bound as a jQuery click event
我试图通过一个变量传递一个函数,以将其分配为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:
您过多地传递了回调函数。 这会创建大量的闭包,在这种简单的情况下不需要。
function bindClick(func) {
$('#button').click(function() {
func();
return false;
});
}
function executeClick(message) {
alert(message);
}
function configureClick(message){
bindClick(function(){ executeClick(message) });
}
configureClick('Hello');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.