私はコールバックのグローバル関数を必要とするAPIを使っています。クラスをインスタンス化してデータを渡すときに、一意のグローバル関数を定義しますか?
コールバックをクラス内で定義します。これは、同じページで複数回インスタンス化することができます。 callbackFunnctonは、関数を参照
SubmitForm = function(el) {
this.el = $(el);
};
SubmitForm.prototype.api = function(){
grecaptcha.render(this.el,{
'sitekey' : '6Lfk4SATAAAAAMsKUioOBFfgcLr_tERuvbsr3pun',
'callback': callbackFunction
});
};
window.callbackFunction
this.el
を渡すことができますどのように
?
私はおそらく関数に乱数を命名するようなことを考えていますが、何とかその関数にthis.el
を渡すことができるかどうかはわかりません。
SubmitForm = function(el) {
this.el = $(el);
this.rand = Math.random();
};
SubmitForm.prototype.api = function(){
grecaptcha.render(this.el,{
'sitekey' : '6Lfk4SATAAAAAMsKUioOBFfgcLr_tERuvbsr3pun',
'callback': callbackFunction
});
};
window[this.rand] = function(this.el){
...
}
あなたの例では、コールバックがグローバルでなければならないという印象はありません。また、Google Recaptchaの場合は、そうである必要はありません。何がグローバルになる必要があると思いますか? –