我真的相信只有做到這一點使用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
Thanks @Derick Bailey!我想我可以做這樣的事情,但它不會發生在我使用currentTarget – Petrov
我不認爲這是正確的@Derick。帶有兩個參數的jQuery切換將爲e.currentTarget添加一個點擊事件處理程序,它將在偶數/奇數點擊中調用這些函數。如果你使用這個,每次點擊a.contact時,新的處理程序將被再次添加。 – johnkpaul
呃,是的。不知道當我回答這個問題時我在想什麼:P –