サンプルでは2つのボタンを用意し、交互に押し状態が変わるようにしてみた。
toggle.html
goog.require('goog.dom');
goog.require('goog.events');
goog.require('goog.ui.ToggleButton');
goog.ui.ToggleButton を require しておく。
メインはこんな感じ。
<div id="toggle1" class="goog-toggle-button">Toggle1</div>
<div id="toggle2" class="goog-toggle-button">Toggle2</div>
<script>
var btn1 = goog.ui.decorate(goog.dom.$('toggle1'));
var btn2 = goog.ui.decorate(goog.dom.$('toggle2'));
btn1.setDispatchTransitionEvents(goog.ui.Component.State.ALL, true);
btn2.setDispatchTransitionEvents(goog.ui.Component.State.ALL, true);
goog.events.listen(btn1, goog.ui.Component.EventType.ACTION,
function(e) {
btn2.setChecked(!e.target.isChecked());
});
goog.events.listen(btn2, goog.ui.Component.EventType.ACTION,
function(e) {
btn1.setChecked(!e.target.isChecked());
});
btn1.setChecked(true);
btn2.setChecked(false);
</script>
書き方は通常のボタンと同じだが setDispatchTransitionEvents( ) がミソ(のようだ)。それぞれのボタンのイベントに相互の状態(setChecked)を変えるコードを書いて見た目を切り替えている。
下記リンクからサンプルが見られる。
http://closuresample.appspot.com/html/toggle.html



0 件のコメント:
コメントを投稿