javascript - How do I handle a click event on a specific target in backbone js -


html file

<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 file

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'));         });     }, }) 

i want class of specific li clicked, when click on li 1st time gives no alert. when click second time, gives 1 alert div's class(work) rather class of li clicked.

if clicked on li nth time gives me n-1 alert. why happen? whether clicked single time whether nth time or 7th time, must give 1 alert.

so please me find out solution.

it appears everytime click, adding click listener displays alert. outcome makes sense. since "paint" called when click, put alert directly in that:

paint : function(e) {     alert($(e.currenttarget).attr('class')); }, 

Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -