私は実際にevents
を使用してこれを行うだけでは、一緒に実際の流量を維持するためにtrigger
を追加することであると信じています。このようにトグルを使用しなければならないのは正直なところでは少しぎこちないようです。
Backbone.View.extend({
events: {
"click .button": "doToggle"
},
doToggle: function(e){
var myEle = $(e.currentTarget);
$(e.currentTarget).toggle(
function() {
// odd clicks
},
function() {
// even clicks
}
);
myEle.trigger('click');
}
});
それはちょうど私がこの問題の解決策を探していたと私はちょうどそれについて昔ながらの方法を行ってきました
Backbone.View.extend({
el: '#el',
initalize: function() {
this.render();
},
doToggle: {
var myEle = this.$el.find('.myEle');
myEle.toggle(
function() {
// odd clicks
},
function() {
// even clicks
}
);
},
render: function(e){
//other stuff
this.doToggle();
return this;
}
});
出典
2013-01-09 03:31:33
Tim
ありがとう@Derick Bailey!私はこのようなことをすることができると考えましたが、currentTargetを使うのは私には起こりませんでした。 – Petrov
これは正しい@Derickだとは思わない。 jQueryの2つのパラメータを切り替えると、偶数/奇数クリックでこれらの関数を呼び出すe.currentTargetにclickイベントハンドラが追加されます。これを使用すると、a.contactがクリックされるたびに、新しいハンドラが再度追加されます。 – johnkpaul
うんうん。 P –