我有大量的輸入,點擊時會調用Ajax。每個作爲一個JavaScript函數分配。這些輸入需要在Ajax執行時被禁用。這是我到目前爲止:在沒有淡入淡出的情況下禁用ajax調用時的輸入
$("html").bind("ajaxStart", function(){
$("input").attr("disabled", "disabled");
$(this).addClass('busy');
}).bind("ajaxStop", function(){
$(this).removeClass('busy');
$("input").removeAttr("disabled");
});
唯一的問題是輸入變成灰色。我怎樣才能避免這種麻煩?
我也嘗試了readonly屬性,但由於某種原因它不起作用。這至少在Chrome中仍然會使按鈕變得灰暗,並且仍然允許您單擊收音機和複選框。
$("html").bind("ajaxStart", function(){
$("input").attr("readonly", true);
$(this).addClass('busy');
}).bind("ajaxStop", function(){
$(this).removeClass('busy');
$("input").removeAttr("readonly");
});
編輯:它看起來像這可能是不可能單獨使用CSS,所以我可能需要使用JavaScript。這項技術適用於複選框。單選按鈕可能需要更多,雖然工作:
只讀也變灰的複選框,也讓互動。根據這個信息:「READONLY只是防止用戶改變字段的值,而不是與字段交互。」 http://www.htmlcodetutorial.com/forms/_INPUT_DISABLED.html – Dave 2012-07-30 15:26:20