Jquery プラグイン klass を使用していますが、使用に問題があります... :/
メソッドを持つクラスがありますが、イベント (クリックなど) をキャッチし、オブジェクトからメソッドを呼び出したい場合、それを行うメソッドは 2 つしか見つかりませんでした。
問題:
test = $.klass({
init: function () {
console.log('CM');
},
action: function () {
$('.test').on('click', function () {
// Call test method
});
},
test: function () {
console.log('test');
}
})
解決策 1 : 「This」のようなデータを入れる
test = $.klass({
init: function () {
console.log('CM');
},
action: function () {
$('.test').on('click', { context: this }, function (event) {
event.data.context.test();
});
},
test: function () {
console.log('test');
}
})
解決策 2 : これを「グローバル」に取得する
test = $.klass({
init: function () {
console.log('CM');
},
action: function () {
var that = this;
$('.test').on('click', function (event) {
that.test();
});
},
test: function () {
console.log('test');
}
})
私はグローバル変数が好きではないので、2番目の解決策は好きではありませんが、最初の解決策が優れているかどうかはわかりません...
最良のものを選択するのを手伝ってもらえますか、それとも私にとって他の解決策があるかもしれません:)
ありがとう