我正在使用如下所示的模式来创建一个具有私有和公共方法的 javascript 库。这个想法是包含此库的页面将调用 MYLIB.login() 并为用户单击“确定”或“取消”提供两个函数。
var MYLIB = function() {
// private data and functions
var showForm = function() {
// create and show the form
};
var onOK = function() {
// hide the form, do some internal stuff, then…
okFunction();
};
var onCancel = function() {
// hide the form, do some internal stuff, then...
cancelFunction();
};
var okFunction = null;
var cancelFunction = null;
// public functions
return {
login : function(okf, cancelf) {
okFunction = okf;
calcelFunction = cancelf;
showForm();
},
};
}();
我的问题是关于获取表单中的按钮以调用私有的内部函数 onOK 和 onCancel。按钮如下所示:
<button onclick="onOK();">OK</button>
<button onclick="onCancel();">Cancel</button>
如果我将功能公开,我可以让它工作,但我也可以公开所有内容。我怎样才能做我想做的事?来自 C++/Java 背景,努力成为一个优秀的 OO 人。谢谢。