以下に示すようなパターンを使用して、プライベート メソッドとパブリック メソッドを持つ JavaScript ライブラリを作成しています。このライブラリを含むページが MYLIB.login() を呼び出し、ユーザーが [OK] または [キャンセル] をクリックしたときに 2 つの関数を提供するという考え方です。
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 の男になろうとしています。ありがとう。