嗨可以有人請幫助,即時通訊試圖找到一種方法,每次用戶會話被點擊一次後,禁用鏈接,我可以這樣做在jQuery中?使用jquery點擊一次後禁用鏈接?
我是javasript和jquery的全新新人,所以有人請告訴我什麼id需要做的感謝。
嗨可以有人請幫助,即時通訊試圖找到一種方法,每次用戶會話被點擊一次後,禁用鏈接,我可以這樣做在jQuery中?使用jquery點擊一次後禁用鏈接?
我是javasript和jquery的全新新人,所以有人請告訴我什麼id需要做的感謝。
綁定event.preventDefault()以防止鏈接後的默認瀏覽器事件。只在隨後的點擊上進行操作(這樣在第一次點擊時它就會允許它 - 這就是你想要的)。
$(".oncelink").one('click',function(e){
$(this).on('click',function(ev){
ev.preventDefault();
});
});
你必須把在服務器端的一些檢查,以及爲這種邏輯的工作。但在客戶端使用jQuery,你可以做類似
$('a').on('click', function()
{
var me = $(this);
//You can also set some attribute value if you do not want to use class
if(me.hasClass('disabled'))
{
return false;
}
else
{
me.addClass('disabled');
}
});
在HTTP連接之間持久狀態的一種方法是使用cookie。你應該真的使用服務器端語言來設置/獲取cookie,因爲客戶端cookie設置/獲取可能會變得混亂,更不用說不安全且易於利用。另外,如果用戶在瀏覽器中關閉了JS,這甚至不起作用,使得你的努力毫無價值。然而,這將是這個樣子:
// on dom ready
var onceButton = document.getElementById('once');
function disableButton() {
onceButton.disabled = 'disabled';
document.cookie="disable_button=1";
// prevent listening on future clicks
onceButton.removeEventListener('click', disableButton, false);
}
if (document.cookie.indexOf('disable_button=1;') === -1) {
// if no cookie set, wait until click happens to disable button
onceButton.addEventListener('click', disableButton, false);
} else {
// cookie set, disable immediately
disableButton();
}
事件處理程序和餅乾。這應該引導你走向前進的道路。 – Joseph 2013-02-10 02:49:19
可能重複[「禁用」一個鏈接暫時點擊?](http://stackoverflow.com/questions/5380722/disable-a-link-temporarily-when-clicked) – 2013-02-10 02:49:24
我不想暫時禁用鏈接。我想保持它禁用。 – 2013-02-10 02:51:19