javascript - JQuery removeClass 不工作自己

标签 javascript jquery html css

我有一个类叫做:

<div class="upvote"></div>

我目前正在使用 jquery 尝试对某些内容进行投票并为消失设置动画。我不希望一个人能够在不刷新页面的情况下多次对同一件事进行投票。

如果我用

$(".upvote").click(function(){ $(this).fadeOut(); $.ajax({...}); }

它改变了代码并改变了布局。所以我正在使用

$(".upvote").click(function(){ $(this).animate({opacity: "0.0"}); $.ajax({...}); }

这不会改变页面的布局;但是,它允许人们在不刷新页面的情况下多次投票。我在努力

$(".upvote").click(function(){ $(this).animate({opacity: "0.0"}); $(this).removeClass("upvote"); $.ajax({...}); }

这样它就不会再触发 JQuery,但它不起作用。我该怎么办?

我浏览了一些其他 Stack Overflow 线程,但似乎找不到答案。

最佳答案

有很多方法可以做到这一点。

您可以使用事件委托(delegate)并删除该类。

$(document.body).on('click', '.upvote', function () {
    $(this).animate({ opacicty: 0.0 }).removeClass('upvote');
});

您还可以使用 one,它会在调用后自动删除处理程序。

$(".upvote").one('click', function() { ... });

但是,很难理解为什么他们应该在重新加载页面后允许他们再次投票?在不刷新的情况下允许多次投票与刷新时没有真正的区别。

关于javascript - JQuery removeClass 不工作自己,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181525/

相关文章:

javascript - 如何在 Yii 中重构 AJAX 流程

JavaScript - 如何用逗号分隔字符串(就像PHP的explode函数一样)

javascript - AngularJS 检测哪个输入已更改

javascript - 依赖顺序的异步 Javascript 文件

jquery - <li> 标签中的嵌套 <a> 标签点击区域不起作用

c# - 该字符串的正则表达式提取值

javascript - 使一个元素相对于另一个元素居中

javascript - 防止实例变量在js文件中编码为html

javascript - 单击 php 或 Javascript 时随机 URL 重定向

jquery弹出取消事件