我有很多在单击时调用 Ajax 的输入。每个都作为一个 JavaScript 函数分配。执行 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。此技术适用于复选框。不过,单选按钮可能需要更多工作: