我一直在做一些研究到這一點,到目前爲止,所有的我已經能夠找到它,你只能刪除事件偵聽器。不是實際的事件。例如,我有一個錨點鏈接,點擊一次後。我不希望用戶能夠再次點擊它。我怎麼能這樣做呢?如何從錨鏈接中刪除點擊事件?
我有一個非常簡單的設置如下:
<script>
$(document).on('click', '.prevPage', function() {
alert("In");
if (parseInt($('.nextPage').attr('rel')) > 2) {
//TAKE OFF CLICK
currentPage -= 1;
rowsShown = $('.pageSize').val();
skip = (currentPage * rowsShown) - rowsShown;
GetMoreData(skip, 2);
}
});
function RePager(skip, btnClicked) {
/* ** NEED TO WORK OUT THE INPUT BOX ** */
if (ReportType() == 2) {
var FilteredData = $('.BoolFiltered').val();
var totalPages = GetTotalPages();
if (totalPages == 0) {
totalPages = 1;
}
var newPrevPage = currentPage - 1;
var newNextPage = currentPage + 1;
/*
1 - First Page
2 - Prev Page
3 - Next Page
4 - Last Page
4+ - Ajax filter
*/
switch (btnClicked) {
case 1:
$('.prevPage').attr('rel', 1);
$('.nextPage').attr('rel', 2);
$('.lastPage').attr('rel', totalPages);
$('.pagedisplay').val(currentPage + '/' + totalPages);
break;
case 2:
$('.prevPage').attr('rel', newPrevPage);
$('.nextPage').attr('rel', newNextPage);
$('.lastPage').attr('rel', totalPages);
$('.pagedisplay').val(currentPage + '/' + totalPages);
//PUT CLICK BACK ON
break;
case 3:
$('.prevPage').attr('rel', newPrevPage);
$('.nextPage').attr('rel', newNextPage);
$('.lastPage').attr('rel', totalPages);
$('.pagedisplay').val(currentPage + '/' + totalPages);
break;
case 4:
$('.prevPage').attr('rel', totalPages - 1);
$('.nextPage').attr('rel', totalPages);
$('.lastPage').attr('rel', totalPages);
$('.pagedisplay').val(totalPages + '/' + totalPages);
break;
default:
currentPage = 1;
$('.prevPage').attr('rel', 1);
$('.nextPage').attr('rel', 2);
$('.lastPage').attr('rel', totalPages);
$('.pagedisplay').val(currentPage + '/' + totalPages);
}
}
}
</script>
<body>
<a class="prevPage">WORK</a>
</body>
編輯:我會去到更多的細節。用戶點擊該事件後,我想禁用點擊。功能結束後,我想讓用戶再次點擊按鈕。我總是可以改變課程名稱,但我不想這樣做,我寧願找一個更優雅的解決方案。
編輯2:檢查上面的代碼中實際問題
你可以簡單地關掉'click'事件,比如'$( 「.test」)。off('click',function(e){});' – Akshay
'函數結束後'你在說哪個函數?如果您正在進行任何異步操作,請提供相關代碼 –
@ A.Wolff檢查實際代碼的編輯。 –