javascript - 在通过 javascript 切换 dijit 小部件的 'disabled' 属性时刷新 css

标签 javascript css dojo dom-events

我正在更改一些 dijit 对用户某些操作的禁用属性。它可以工作,但小部件的 css 不会更新,除非悬停在上面,或者基本上触发小部件上的任何事件。我怎样才能解决这个问题?我错过了或做错了什么吗? 我使用的是 Firefox 8.0.1 浏览器。

最佳答案

我在做类似的事情

widget.disabled = (condition)?"disabled":"";

(实际上我的代码是不同的,但它做的是相似的功能。)

这是因为 dijit 小部件无法知道代码何时直接更改属性。我的错误是我直接做了它而不是使用 set API(这仅特定于 dijit 小部件,也许我应该将我的问题更改为特定的?)。

widget.set("disabled", condition);

我也通过执行 dojo.removeClass(widget, "dijitDisabled"); 获得了成功(有很多“禁用”状态的类),但这种方法很天真,最后我得到了上面提到的解决方案是好的,标准的,简洁的。

关于javascript - 在通过 javascript 切换 dijit 小部件的 'disabled' 属性时刷新 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9357623/

相关文章:

javascript - 定义 JavaScript 变量的最佳实践

layout - DOJO ContentPane 内部 DIV 高度随 ContentPane 调整大小而变化

javascript - 移动设备上的自动工具提示

javascript - 单击一个菜单下拉菜单时启用所有菜单下拉菜单

javascript - 保持隐藏元素之间的间隙以避免跳跃位置

javascript - 无法在 IE 8-9 中从 JS 更改字体大小

javascript - 免费的 jQuery Grid,支持卡住列和动态数据

javascript - 单击链接时显示子 div

javascript - 根据列表顺序对对象数组进行排序

css - Webkit CSS 动画问题 - 坚持动画的结束状态?