2017-01-17 15 views
0

リストから選択したliを強調表示しようとしています。私はこれは、私は私のhtmlのjquery clickを2回実行すると角度2が発生する

function highlight(){ 

var selector = 'li'; 

$(selector).on('click', function(){ 
    $(selector).removeClass('active'); 
    $(this).addClass('active'); 
}); 
} 

パートを使用していますjqueryのあるイベントと変化する色

を発射するために時にはそれは2時間を要した角度2にjqueryのを使用しています

<li id="auth-auth" (click)="linkedPressed($event)"><img src="app/resources/i_arrow_{{ showAuthPic }}.png" id="auth-auth" ><img src="app/resources/i_acordian_folder_closed_page.png" class="myimage" id="auth-auth" />Authorization & Authentication</li> 
       <ol *ngIf="showAuth"> 
        <li id="radius" class = "li-padding" (click)="linkedPressed($event)"><img src="app/resources/i_acordian_page.png" class="myimage" id="radius"/>RADIUS</li> 
        <li id="authentication" class = "li-padding" (click)="linkedPressed($event)"><img src="app/resources/i_acordian_page.png" class="myimage" id="authentication" />Authentication</li> 
       </ol> 

で機能は、私が

function highlight(which){ 

    var selector = "#" + which; 
    $("li").removeClass('active'); 
     $(selector).addClass('active'); 

} 
012でそれを解決し

ハイライト呼び出していますlinkedPressed

答えて

0

として、highlight()linkedPressed()から呼び出されます。 jQueryイベントハンドラは、liがクリックされたときにのみ添付されるため、2回目のクリック時に動作します。また、クリックするたびにノートが呼び出され、別のイベントハンドラが接続されています。

ページ/ビューのロード時にイベントハンドラを直接バインドします。

関連する問題