2013-11-09 68 views
2

我有一個超鏈接在我的網頁上,我想禁用,因此用戶不能點擊它,當用戶在窗體的其他部分進行更改(事件發生)鏈接被啓用。如何禁用和啓用與jQuery的超鏈接

<a href="" id="saveChanges" >Save changes</a> 

我試過$("#saveChanges").attr("disabled", true);但我仍然可以點擊鏈接。任何想法?謝謝

+0

我們能看到你的代碼? –

+0

我猜你已將一個點擊處理程序附加到該錨點標記以「保存更改」,並且在「禁用」它時不希望它觸發?什麼阻止你檢查點擊處理程序中錨標記的禁用屬性? – Sumurai8

回答

1

一個錨不是一個表單字段,可以通過HMTL聲明(順便說一句應該使用.prop()而不是.attr())來禁用。

它必須一步一步完成。

$(function() { 
    $('a').on("click", function (e) { 
     e.preventDefault(); 
    }); 
}); 
1

要使鏈接不可點擊,您可以刪除href屬性。但是,在刪除href的值之前,您應該將其存儲在其他屬性中,以便在需要時將其恢復。 例如,

function makeUnClickable() { 
    $('a').each(function() { 
     $(this).data('href', $(this).attr('href')); 
     $(this).removeAttr('href'); 
    }); 
} 
function makeClickable() { 
    $('a').each(function() { 
     $(this).attr('href', $(this).data('href')); 
    }); 
} 

http://jsfiddle.net/cC7Um/

+0

有趣的想法,但如果有很多超鏈接你想禁用/啓用呢? – carmenism

+0

@vulpix它適用於多個鏈接,因爲它是這個例子使它更清晰http://jsbin.com/xoyeqejusepi/1。如果需要禁用/啓用特定鏈接,還添加了選擇器。 – melc