0

ボタンがたくさんある状況があります (基本的にはアイコンにまたがりますが、ボタンのように機能します)。css を使用して押すと、各ボタンが影付きになります。このボタンは、JavaScript の変数または関数にリンクする必要があります。私が欲しいのはボタンとjavascriptだけです。つまり、ボタンが押されたときにjavascript変数がtrueになるか、そのjs変数がtrueになると、ボタンが押された状態またはオンの状態になる必要があります。私はこのロジックを実行しましたが、UI ボタン​​と JavaScript が同期しないことがあるため、ベスト プラクティスとは言えません。これを行う最善の方法はありますか?また、その状態で1つのjavascript関数によってボタンのグループを制御する方法があるはずです

注: サーバーと通信するために Ajax などを呼び出したくありません。これは純粋に UI 要件です。

HTML

 <span onclick="applyPropertiesChanges('Text', textButton)"> <span id="switch"
            class="text_btn-background toolboxItem ui-icon btn-icon-enable btn-fontItalicIcon" /></span>

JS

var textButton
function applyPropertiesChanges(type,value)
{
  if(type == 'Text')
 { textButton = !textButton;
  //Check the UI span 
  if(value && this.children.hasClass('btn-icon-enable') &&)
{ 
 //UI span is on
//do nothing
}else{
  if(!value && !this.children.hasClass('btn-icon-diable')
 {// do nothing
 } else 
{
// Toggle the class of the span
}
}

 }
}
4

1 に答える 1

0

スパンに属性またはクラスを追加するだけで、これを少し簡単に実現できます。次に、その属性を持つものを確認できます。

 <span class="btn"> <span id="switch"
            class="text_btn-background toolboxItem ui-icon btn-icon-enable btn-fontItalicIcon" /></span>

$('.btn').click(function() {
   $(this).addClass('data-clicked');
   $('.btn').not(this).removeClass('data-clicked');
});

クリックすると、どのボタンがクリックされたかを簡単に知ることができ$('.btn.data-clicked')、それに基づいて無効化を有効にできます。

于 2013-04-04T18:40:27.703 に答える