我正在尝试从列表中突出显示所选的li。我在角度2中使用jquery。有时需要2次才能触发事件并改变颜色
这是我正在使用的jquery
function highlight(){
var selector = 'li';
$(selector).on('click', function(){
$(selector).removeClass('active');
$(this).addClass('active');
});
}
我的部分内容
<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>
在LinkedPressed函数中,我调用了高亮显示
我用
解决了这个问题function highlight(which){
var selector = "#" + which;
$("li").removeClass('active');
$(selector).addClass('active');
}
答案 0 :(得分:0)
从highlight()
调用函数linkedPressed()
。只有在单击li
时才会附加jQuery事件处理程序,因此在第二次单击时它会起作用。每次点击时,注意也会附加另一个事件处理程序。
在页面/视图加载上直接绑定事件处理程序。