我有一个包含文本框和按钮的 ASP.NET 4.0 母版页。Button 最初是禁用的,并且 TextBox 附加了一个 onkeyup 以根据是否输入任何内容来启用/禁用 Button。
问题是,当应用程序在 IIS 中运行并且用户在 IE8 中输入文本时,按钮不会立即启用/禁用。然而,当鼠标移入/移出某些元素(例如浏览器窗口)时,它会相应地启用/禁用。
如果在 IDE 中运行(在 Debug 或 Release 配置中),或者如果使用 Firefox 4 浏览,或者如果我将 jQuery 从 1.6.2 降级到 1.6.1 或更早版本,则不会发生此问题。
启用按钮的代码是:
okButton.attr("disabled", false);
但我遇到了同样的问题:
okButton[0].disabled = false;
或与:
okButton.removeAttr("disabled");
如果我添加这一行:
okButton.attr("value", "enabled");
按钮上的文本立即更改,但在我适当移动鼠标之前它不会启用。
更新 2011 年 12 月 9 日 14:47
发现问题不会发生在 jQuery 1.4.4 / 1.5.2 / 1.6 / 1.6.1 上,但会发生在 jQuery 1.6.2 上。