我有大量的输入,点击时会调用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