htmlファイル
<div class="work">
<ul id="palette" class="palette-pen" style="top:178px;">
<li class="palette-colour-1"><span></span></li>
<li class="palette-colour-2"><span></span></li>
<li class="palette-colour-3"><span></span></li>
<li class="palette-colour-4"><span></span></li>
<li class="palette-colour-5"><span></span></li>
<li class="palette-colour-6"><span></span></li>
</ul>
</div>
jsファイル
VC.View.Workspace_Tool_Image = Backbone.View.extend({
events : {
'click .palette-pen li' : 'paint'
},
initialize : function() {
var obj = this;
/* scope */
_.bindAll(this, 'paint');
},
paint: function() {
var obj = this;
$('ul.palette-pen li').click(function(e) {
alert(obj.$el.attr('class'));
});
},
})
クリックした特定のクラスを取得したいのですが、初めてli
クリックするとli
アラートが表示されません。もう一度クリックすると、クリックした のクラスではなく、div
の class( ) で1 つのアラートが表示されます。work
li
n 回クリックすると、li
n-1 アラートが表示されます。なぜこれが起こるのですか?n 回目でも 7 回目でも、1 回クリックしてもアラートは 1 回しか表示されません。
ですから、解決策を見つけるのを手伝ってください。