我有一个返回对象的函数。在对象中,我有两个函数来显示弹出窗口并关闭它。它在父函数中工作,但它不是从外部调用的。这不是正确的调用方式吗?否则我如何从外部调用 obj 函数?
我的功能:
var popupHandler = function(handler,msg,popUp){
msg = msg == "help" ? "help" : "results"
$(handler).click(function(){
popObj.showPop(); //works
})
$('.cls-how2play').click(function(){
if(msg == 'help') popObj.closePop(); //works
});
var popObj = {
showPop : function(){
if(!(popUp).is(':visible')) $(popUp).fadeIn().children().find('.'+msg).show().siblings().hide();
},
closePop : function(){
$(popUp).fadeOut()
}
}
return popObj;
}
从这样调用 ouside :
$('.ui-footer').click( function(){
var closeIt = popupHandler();
closeIt.popObj.closePop() }) //not works.. why?
}
任何人都可以帮助我从返回函数外部调用 obj 函数的正确方法吗?
谢谢。
最佳答案
而不是
closeIt.popObj.closePop()
你想要
closeIt.closePop()
您的popupHandler
函数返回 popObj
对象,该对象具有showPop
和closePop
功能。所以 closeIt
是对同一对象的引用。
关于javascript - 这不是调用我的 obj 函数的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9598845/