我有一个简单的div,我用它来触发ajax帖子。点击时,我会通过其中一个类调用该对象。当我再次提交和渲染同一个对象时,我不希望它是可点击的,所以我从对象中删除类,但它仍然是点击,即使在dom中它已经消失。任何想法如何防止再次点击对象?Jquery - 在点击div触发ajax帖子,并不会禁用后点击
Ajax帖子正常工作,试图找出提交完成后如何停止另一次点击。
代码:
HTML:
<div class="likeContent">
<div class="bylineBox right likeThisLink" id="like-this-<?php echo get_comment_ID(); ?>">
<a href="#" onclick="return false;" class="likeThisContent">
<span>
<img src="<?php bloginfo('template_url'); ?>/images/like-icon.png" alt="Like" />
<?php if ($current_like_count[0] > 0) { echo $current_like_count[0];} else {echo 'Like';} ?>
</span>
</a>
</div>
</div>
JS(jQuery函数):
$('.likeThisLink').click(function(e) {
var contentID = $(this).attr("id").split("-")[2];
var siteURL = $('.siteURL').attr("id");
var templateURL = $('.templateURL').attr("id");
var processURL = siteURL + "/wp-admin/admin-ajax.php"
$.post(processURL,{
action: 'my_unique_action',
content_id: contentID },
function(data) {
var currentLikeCount = $('.likeCount-' + contentID).attr("id").split("-")[1];
var newLikeCount = parseInt(currentLikeCount) + 1;
$('#like-this-'+contentID).fadeOut().html("<a><span><img src=\"" + templateURL + "/images/like-icon.png\" alt=\"Like\" />" + newLikeCount + "</span></a>").fadeIn();
$('.likeCount-' + contentID).attr("id", "likeCountCurrent-" + newLikeCount);
e.preventDefault();
});
$(this).removeClass('likeThisLink')
});
如果点击另一个触发相同功能的按钮,这仍然有效吗?我会在一个页面上有很多像按钮一样的点击。 – estern 2011-12-30 20:56:10
它不会。每个按钮将能够被点击一次并执行请求。 – lsuarez 2011-12-30 20:57:58
只有我认为这将附加到具有'likethislink' id的元素。你是否有类似于所有链接的类,或者每个链接都有自己的ID? – Rondel 2011-12-30 20:58:29