我想禁用特定時間的按鈕。我怎樣才能做到這一點?jquery禁用特定時間的按鈕
9
A
回答
9
禁用該按鈕,然後使用setTimeout運行幾秒鐘後啓用該按鈕的功能。
$('#some-button').attr("disabled", "disabled");
setTimeout('enableButton()', 5000);
function enableButton(){
$('#some-button').removeAttr('disabled');
}
9
因爲這很可能是你可能會喜歡重複一個任務,我認爲要做到這一點的最好辦法是延長的jQuery像這樣:
$.fn.timedDisable = function(time) {
if (time == null) { time = 5000; }
return $(this).each(function() {
$(this).attr('disabled', 'disabled');
var disabledElem = $(this);
setTimeout(function() {
disabledElem.removeAttr('disabled');
}, time);
});
};
這將允許你打電話一組匹配元素上的一個函數,它將暫時禁用它們。按照寫法,您可以簡單地調用該函數,並且所選元素將被禁用5秒。你會做到這一點,像這樣:
$('#some-button').timedDisable();
您可以通過以下行改變5000
調整默認時間設置:
if (time == null) { time = 5000; }
您可以選擇在一個時間值傳遞以毫秒爲單位來控制長的元素將被禁用。例如:
$('#some-button').timedDisable(1000);
這裏的工作演示:http://jsfiddle.net/fG2ES/
1
可能不是最完美的解決方案,但我想我會用這一個jQuery的隊列玩...
$.fn.disableFor = function (time) {
var el = this, qname = 'disqueue';
el.queue(qname, function() {
el.attr('disabled', 'disabled');
setTimeout(function() {
el.dequeue(qname);
}, time || 3000);
})
.queue(qname, function() {
el.removeAttr('disabled');
})
.dequeue(qname);
};
$('#btn').click(function() {
$(this).disableFor(2000);
});
這是我的工作了...... http://jsfiddle.net/T9QJM/
而且,僅供參考,How do I chain or queue custom functions using JQuery?
2
試試這個。
(function(){
$('button').on('click',function(){
var $this=$(this);
$this
.attr('disabled','disabled');
setTimeout(function() {
$this.removeAttr('disabled');
}, 3000);
});
})();
相關問題
- 1. jquery禁用特定提交按鈕
- 2. 當前時間等於特定值時禁用按鈕
- 3. 如何在特定的時間禁用按鈕在php
- 4. 長時間操作時禁用按鈕
- 5. 禁用按鈕,一旦按下,重新設定的時間段
- 6. 在禁用GridView的同時啓用特定按鈕
- 7. 禁用按鈕時,有使用jQuery
- 8. jquery對話框顯示特定時間後的關閉按鈕
- 9. 在特定時間後隱藏按鈕
- 10. 當你點擊一個特定的按鈕時禁用某些按鈕
- 11. 禁用按鈕一段時間
- 12. 獲取時間線按鈕禁用?
- 13. 禁用按鈕一段時間
- 14. 我想禁用登錄時間按鈕。
- 15. 使用JQuery禁用Html按鈕一段時間
- 16. 使用JQuery禁用按鈕
- 17. 禁用按鈕使用jQuery
- 18. 當點擊時禁用按鈕與JQuery的其他按鈕
- 19. DataTables Editor - 按鈕擴展如何在選擇行時禁用特定按鈕?
- 20. 通過jquery禁用按鈕
- 21. jquery禁用提交按鈕
- 22. MVC3 Jquery viewdata禁用按鈕
- 23. jQuery禁用提交按鈕
- 24. 如何在給定的時間內禁用提交按鈕?
- 25. 如何在出現錯誤信息時禁用特定按鈕?
- 26. 使用JQuery禁用JQuery Mobile按鈕
- 27. jQuery的,載荷()點擊特定的按鈕時不起作用
- 28. Android:在特定條件下禁用AlertDialogBuilder的確定按鈕
- 29. jQuery:按類更新特定單選按鈕時的span標籤?
- 30. 如何顯示和隱藏特定時間間隔的按鈕
工作的例子這不起作用:http://jsfiddle.net/RPQmM/相信的setTimeout叫錯了。 – Ender 2010-09-06 09:12:22
@Ender它不起作用,因爲你的'enableButton'函數不在全局範圍內,這是*方法所要求的* setTimeout被調用。看到這個:http://jsfiddle.net/RPQmM/1/ – 2010-09-06 10:21:35