繁体   English   中英

选中了dojo复选框,但直到鼠标悬停才显示

[英]dojo checkbox checked but not showing till mouse over

所以我试图在JS Bin中重现这个,但我无法使dojo工作。 它在chrome和firefox上是一样的。

我有一个复选框和dojo就绪功能,看起来像

dojo.ready(function() {
    dijit.byId('checkbox1').checked = true;
});

现在,当页面呈现时,checked = true成功执行,但是没有出现复选框,请检查你的MOUSE!

它就像浏览器没有在复选框上重绘区域。 将鼠标悬停在复选框上,浏览器重新绘制它,以便您可以看到勾选。

有没有人遇到过这个?

你需要使用:

dijit.byId('checkbox1').set('checked', true)

而不是直接设置属性。 所有小部件都应遵循此约定,因为您在更改属性值时永远不知道可能需要哪些其他处理。

对我来说,问题是我没有正确加载小部件的CSS。

使用精灵表而不是本机html复选框显示Dojo的复选框。

我已经覆盖了dojo的css(我使用了claro主题),隐藏了spritesheet图像,并显示了支持它的常规html复选框。

因此,请确保您使用css包含其中一个dojo主题css文件(claro.css)。 并确保html上的<body>标签具有class="claro"或您正在使用的任何主题。

使用精灵表(再次,在本例中为claro),您的复选框应如下所示 dojo claro-theme复选框 html复选框

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM