只需在JQUERY类中单击一下

时间:2015-09-16 18:26:52

标签: javascript jquery ajax javascript-events event-handling

我有一个链接,将通过ajax加载一些内容。

我的问题是,我不想删除文本“加载评论”,我只是想在此课程中不允许更多点击。

<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');

这不起作用......

http://jsfiddle.net/qsn1tuk1/

2 个答案:

答案 0 :(得分:7)

使用jQuery的one()函数

$(".showcomments").one("click", function() {

http://www.w3schools.com/jquery/event_one.asp

  

one()方法为所选元素附加一个或多个事件处理程序,并指定在事件发生时运行的函数。

     

使用one()方法时,事件处理函数仅对每个元素运行ONCE。

答案 1 :(得分:1)

绑定事件处理程序时,绑定到元素,而不是。从元素中删除类不会更改哪些事件处理程序绑定到元素。

您可以使用off()删除事件处理程序:

$(this).off('click');

http://jsfiddle.net/om6ggvyu/