サンプルでは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 件のコメント:
コメントを投稿