2012-04-19 8 views
3

これをJS Binで再現しようとしましたが、dojoを動作させることができませんでした。それはchromeとfirefoxで同じです。dojoチェックボックスはチェックされていますが、マウスオーバーまで表示されません

私は、チェックボックスがIT OVER YOU MOUSE UNTILチェックは表示されません。ただし、ページがレンダリングされるときに今、真=確認チェックボックスと

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

のように見える道場レディ機能が正常に実行されています!

ブラウザのように、チェックボックスの上の領域を再描画しませんでした。チェックボックスの上にマウスを置くと、ブラウザがそれを再ペイントして、目盛りを見ることができます。

誰でもこれを前にしていますか?

答えて

4

あなたは使用する必要があります。代わりに、直接属性を設定する

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

。属性値を変更するときに他にどのような処理が必要なのか分からないので、このウィジェットはすべてのウィジェットに従うべきです。

+1

のようになります。 – Andrew

2

私にとって、問題は私がウィジェットのCSSを適切に読み込んでいないことでした。

Dojoのチェックボックスは、ネイティブHTMLチェックボックスではなくスプライトシートを使用して表示されます。

私はスプライトシートイメージを隠し、バッキングしていた通常のHTMLチェックボックスを表示することで、dojoのcss(私はclaroテーマを使用していました)をオーバーライドしました。

したがって、cssにdojoテーマのCSSファイル(claro.css for me)が含まれていることを確認してください。あなたのhtmlの<body>タグがclass="claro"かあなたが使っているテーマを持っていることを確認してください。スプライトシートで

(再び、この場合のクラロに)あなたのチェックボックスは、これはプログラムによって作成された私のウィジェットには十分ではなかったdojo claro-theme checkboxないhtml checkbox

+0

ありがとうございました。それは私にとってはとても簡単な解決策でした。 –

関連する問題