我有一個簡單的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