我有一个函数,用于侦听屏幕上的单击并触发回调。这是一个辅助对象(这就是为什么在我的示例代码术语助手之前的一部分。当然,这是无关紧要的。将参数传递到回调函数
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