【发布时间】:2022-02-16 22:28:05
【问题描述】:
我有一个链接,可以通过 ajax 加载一些内容。
我的问题是,我不想删除文本“Load cmets”,我只想在此类中不允许更多点击。
<a href="javascript:;" class="showcomments" id="'.$idf.'">Load comments</a>
jQuery
var Progressajax = false;
$(function() {
$(".showcomments").click(function(){
if(Progressajax) return;
Progressajax = true;
var element = $(this);
var id = element.attr("id");
Progressajax = false;
alert("ok");
$(data).hide().prependTo('.varload'+id).fadeIn(1000);
//$(element).remove();
$(element).removeAttr("href");
$(element).removeClass('showcomments');
});
});
我只想第一次看到OK。如何删除此类?
$(element).removeClass('showcomments');
这不行……
【问题讨论】:
-
$('.showcomments')将找到所有具有该类的元素,并将点击处理程序附加到它们。如果您稍后删除该类,则不会对单击处理程序执行任何操作。您必须删除单击处理程序本身,或者让处理程序检查元素是否仍然具有适当的类 -
听起来你想使用
$.off()来关闭一个类的监听器。 Here 是上面的文档。
标签: javascript jquery ajax event-handling jquery-events