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
Post a Comment