아래와 같은 함수를 호출하고 있습니다. 여기에서는 특정 폼이 그 전에 제출되지 않은 후에 만 호출되어야하는 콜백 함수도 전달합니다.매개 변수로 콜백 함수 전달하기
<div onClick="myNamespace.openDialog(par1,par2,myNamespace.callback(myNamespace.cb,'p1','p2'))">OPEN DIALOG</div>
var myNamespace = myNamespace || {};
myNamespace={
return{
cb:function(p1,p2){alert(p1+" cb "+p2);},
callback:function(f){f(arguments[1],arguments[2]);},
openDialog:function(p1,p2,f){
// aboutBizzNs.cb should be called here only after form submit
}
}
}();
문제는 alert(p1+" cb "+p2);
이 OPEN DIALOG
클릭 직후라고합니다. 그것은 그렇게해서는 안됩니다. 내가 원할 때만 호출해야합니다. 문제점은 무엇입니까
은 인수 및 세부 사항을 거쳐 나는 발견'기능을 전달() {myNamespace.cb ('P1이 ','p2 ')}''openDialog (....., f)'에 대한 인수로서 openDialog() 내부에서'f()'를 호출하면 충분했다. 고마워. – manish
@Manish You' 다시 오신 것을 환영합니다! 클로저 (및 일류 가치로 기능)는 마스터하기에 약간 까다 롭지 만 일단 마스터하면 JavaScript의 마스터가됩니다. – user2864740