2016-04-28 105 views
1

我嘗試在不刪除點擊事件的情況下禁用實現中的按鈕。但正如你可以看到這個jsfiddle,我只獲得視覺效果。點擊事件仍在啓動。如何通過實現禁用按鈕?

我試過如下:

$('#btnOne').prop('disabled', true).addClass('disabled'); 

它是一個錯誤嗎?或者我做錯了什麼?

編輯:似乎沒有與標籤問題button

回答

2

我找到了答案。

a標籤不能被屬性禁用,button可以用來代替。

2

您可以刪除當點擊#disableBtnOne聽衆 -

$('#disableBtnOne').click(function(){ 
    $('#btnOne').prop('disabled', true).addClass('disabled').off("click"); 
}); 

見新Fiddle

+0

但是如果我想在click事件中保留函數。我不想每次重新綁定它 – Clemzd

3

你可以添加一些CSS規則並保留你當前的jQuery代碼。

例如:

.disabled { 
    pointer-events: none; 
} 

這將阻止所有的事件,當這個類被觸發。

fiddle

注:指針事件在最現代的瀏覽器支持。檢查出來:http://caniuse.com/#feat=pointer-events

+0

偉大的發現,但我更喜歡使用JavaScript的解決方案對不起 – Clemzd

+0

沒問題。 @Clemzd是對的。你應該把''anchor''改成''button''。我現在也注意到,你沒有給''''放置''href''屬性,這根本不是一個好習慣。所以,堅持「按鈕」。 – Ardian