更新的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/ –