0

我有很多在单击时调用 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。此技术适用于复选框。不过,单选按钮可能需要更多工作:

http://jsfiddle.net/q3c2Y/1/

4

3 回答 3

0

disabled属性值设置为true

$("input").attr("disabled", true);
于 2012-07-30T15:49:18.833 回答
0

而不是disabled你可以使用readonly属性。

于 2012-07-27T21:05:12.900 回答
0

您可以尝试“只读”属性。

于 2012-07-27T21:05:37.447 回答