更新的jsfiddle:http://jsfiddle.net/leongaban/NmH97/按钮变量作用域 - 如何更新父范围中的变量? jQuery的
在我的主要功能是一个按钮状态修正功能和几个点击功能。
在更新父函数中的布尔值时有点麻烦。我可以通过使用全局变量来解决这个问题,但我知道在这里我不需要这样做。
在下面的函数中,当单击#toggle_company时,我将bool公司(默认设置为true)传递给setupToggleButtons
函数。然后切换当前状态,但原始company
布尔值不变,您将如何编写此目标并更新父函数wireSearchIcons
中的变量公司?
var wireSearchIcons = function() {
// Boolean Flags
var company = true;
var phone = true;
var orange_on = '#F37B21'; var orange_off = '#f3cdb1';
var green_on = '#3DB54A'; var green_off = '#d8e0c3';
// Other code...
$("#toggle_company").unbind('click').bind('click', function() {
setupToggleButtons(company, '#toggle_company path', orange_on, orange_off);
});
function setupToggleButtons(bool, path, on, off) {
var path = $(path);
if (bool) {
path.css('fill', off);
bool = false;
return bool;
} else {
path.css('fill', on);
bool = true;
return bool;
}
console.log(bool);
}
}
您是否尝试在您的setupToggleButtons()函数中说'company = false'或'company = true'? –
是的,如果我使用公司,它工作正常,如果我使用布尔它只能第一次点击,不会'重置'在第二次点击。 –
将代码发布到已修改的jsfiddle:http://jsfiddle.net/leongaban/NmH97/ –