Javascript 如何处理主干js中特定目标上的单击事件
html文件Javascript 如何处理主干js中特定目标上的单击事件,javascript,jquery,html,backbone.js,Javascript,Jquery,Html,Backbone.js,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>&l
<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>
我想获取我单击的特定li
的类,但当我第一次单击li
时,它不会发出警报。当我第二次单击时,它会给出一个带有div
类(work
)的警报,而不是我单击的li
类
如果我第n次点击li
li,它会向我发出n-1警报。为什么会发生这种情况?无论是第n次还是第7次单击,它都必须只发出一个警报
因此,请帮助我找到解决方案。似乎每次单击都会添加一个显示警报的单击侦听器。因此,结果是有意义的。由于“paint”仅在单击时调用,因此只需将您的警报直接放在以下位置:
paint : function(e) {
alert($(e.currentTarget).attr('class'));
},
你是对的。现在警报只出现一次,但是类名仍然是错误的。啊,我没有看到你想要一个不同的类,我已经更新了,试试看。我总是得到相同的类,那就是高于ul的div类。我想我不确定你到底想要什么。例如,您想让它显示
palete-color-1
?现在使用currentTarget试试
paint : function(e) {
alert($(e.currentTarget).attr('class'));
},