2016-08-10 9 views
1

ボタンに2つのアクションを割り当てる問題があります。画像をクリックすると、画像が変わります。アクションは、ボタンではなく画像をクリックしたときにのみ機能します。ボタンイメージの変更をクリックしてアクションが発生した後にコードを変更する方法はありますか?ここで1つのボタンで2つのアクション(画像の変更)

は私のコードです:

<a href="" class="btn btn-gray"> 
       <img src="images/icons/full.png" alt="" ng-click="candidates.setTableType(candidates.tableTypes.ADVANCED)" 
        ng-show="candidates.selectedTableType == candidates.tableTypes.SIMPLE"> 
       <img src="images/icons/full-hide.png" alt="" ng-click="candidates.setTableType(candidates.tableTypes.SIMPLE)" 
        ng-show="candidates.selectedTableType == candidates.tableTypes.ADVANCED"> 
      </a> 

は君たちをありがとう!

+0

あなたはここで簡単なjQueryのを使用することができますか? – Roysh

答えて

0

ここでは2つの<a>を使用し、ng-clickng-showの属性をそれぞれのリンクに移動できます。

+0

これはほぼ正常ですが、ボタンをクリックするともう一度ボタンが消えます(別のボタンのすぐ隣に表示されます) – urqel

+0

@urqelこれは、ブラウザのAngularJSのパフォーマンスに関連するものですどのようにしてこの影響を最小限に抑えることができないのか分かりません。 –

+0

@urqel私はあなたが言うことができる1つの可能なハックは、ボタンの高さに等しい 'height'で' div'の両方のボタンをラップし、 'top:0'と' left:0'で 'position:absolute'ボタンを置きます。このようにして、両方が上に表示され、この効果は表示されません。 –

-1

私はCSS/HTMLを勉強していませんが、私は少しのJavaScriptで問題を解決できます。 link

HTML CODE

<div class="btn" id="myDiv" onClick="bgcol()"><a href="https://www.google.com" target="_blank">LINK</a> </div> 

JSコード

<script> function bgcol() 
{ 
document.getElementById("myDiv").style.backgroundImage = "url('http://dataduppedings.no/subcube/Colour_Gradients/Cyan-Blue_256x256.png')"; 
/* insert your image here */ 
} </script> 
関連する問題