我有一個函數,用於偵聽屏幕上的單擊並觸發回調。這是一個輔助對象(這就是爲什麼在我的示例代碼術語助手之前的一部分。當然,這是無關緊要的。將參數傳遞到回調函數
var Helper = {
bodyClickListener: function(fn) {
var window = document.getElementsByTagName('body')[0];
window.click();
CORE.dom.on(window, 'click', function(event) {
CORE.dom.off(window, 'click');
fn(event);
});
}
}
我需要能夠給一個函數傳入這個函數的參數已設置。
function someFunction() {
var popup = document.getElementById('tagResultsPopup');
Helper.bodyClickListener(function(popup) {
return function(event) {
event.stopPropagation();
removePopup(popup);
};
}(document.getElementById('tagResultsPopup')));
function removePopup(element) {
if(element) {
element.parentNode.removeChild(element);
}
};
}
上述工程的代碼,但是你會發現,我不得不設置回調函數內彈出變量,它上面已經設置。我如何傳遞給一個參考先前的變量放入回調函數中
我希望這是真的,但不幸的是它不工作。 bodyClickListener不駐留在與彈出變量相同的函數中。我只是調用函數並傳遞函數。 – ryandlf 2012-03-02 03:41:11
@ryandlf這不是很清楚你的問題。那麼你爲什麼不**然後再次獲得元素的內容? – gideon 2012-03-02 03:44:38
對不起,我想我很困惑你。 Helper.bodyClickListener與popup變量的功能相同,但Helper.bodyClickListener調用的實際函數位於Helper對象中。我不確定這與變量未被傳遞的原因有什麼關係。 – ryandlf 2012-03-02 03:53:55