<p class="clickMe" id="one">click</p>
<p class"clickMe" >click2</p>
<script>
$('.clickMe').on('click', function(e) {
alert("click");
$('#one').removeClass('.clickMe');
});
</script>
为什么在删除“clickMe”课程时它仍会提醒我。我不知道它为什么会多次注册click事件。如何防止p标签多次点击?
答案 0 :(得分:2)
您必须将脚本更改为:
$(this).on('click', '.clickMe', function(e) {
alert("click");
$('#one').removeClass('clickMe');
});
你拥有它的方式任何具有类clickMe
的元素在启动时都会被绑定并保持这种状态。
我拥有它的方式事件被绑定到文档,并且仅在被点击的元素为clickMe
时触发。因此后者更具活力。
答案 1 :(得分:1)
因为事件处理程序附加到对象(而不是类),所以一旦从对象中删除了类,就不会删除事件处理程序。
你需要执行:
$('#one').off('click');
//or
$('#one').unbind('click');
Off(Unbind)将删除事件处理程序。
答案 2 :(得分:0)
而不是.on()使用.one() - 应该这样做。 http://api.jquery.com/one/
$( "#foo" ).one( "click", function() {
alert( "Displayed only once." );
});