HTML code:
$('.alertme').click(function(){
alert('By selecting new image your old image will be remove');
$(this).removeClass('alertme');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
#Before a Function is executed
<input type="file" name="efile" id="efile" style="width:100%" class="alertme">
#After a function is executed
<input type="file" name="efile" id="efile" style="width:100%" class="">
&#13;
它在执行功能后仍然提醒我。我不知道为什么会这样?你能帮我么?感谢您的帮助。
答案 0 :(得分:1)
删除类不会删除附加的事件处理程序。使用off()
方法移动事件处理程序。
$('.alertme').click(function(){
alert('By selecting new image your old image will be remove');
$(this).off('click').removeClass('alertme');
});
答案 1 :(得分:0)
再次遍历以检查是否删除了dom元素或类,以及是否通过事件委派使用。
$(document).on('click', '.alertme', function(){
alert('By selecting new image your old image will be remove');
$(this).removeClass('alertme');
});
答案 2 :(得分:0)
您应该使用.one()
将处理程序附加到元素的事件。每个事件类型的每个元素最多执行一次处理程序。
$('.alertme').one('click', function(){
alert('By selecting new image your old image will be remove');
$(this).removeClass('alertme');
});
然而,更好的选择是在操作选择器(如删除和添加类)时使用Event Delegation委托事件方法.on()。
$(document).on('click', '.alertme', function(){
alert('By selecting new image your old image will be remove');
$(this).removeClass('alertme');
});