これは私の現在のコードであり、すでに1時間以上解決しようとしています:
$('#menu_list').bind('mouseenter mouseleave click', function(event){
if(event.type == 'click') {
$('#list_img').css('background-image', 'url(<?=base_url()?>/assets/css/images/list_active.png)');
$('#add_img').css('background-image', 'url(<?=base_url()?>/assets/css/images/add_inactive.png)');
$('#search_img').css('background-image', 'url(<?=base_url()?>/assets/css/images/search_inactive.png)');
$('#list_text').css('color', 'black');
$('#add_text').css('color', '#C0C0C0');
$('#search_text').css('color', '#C0C0C0');
} else if(event.type == 'mouseenter') {
$('#list_text').css('color', 'black');
$('#list_img').css('background-image', 'url(<?=base_url()?>/assets/css/images/list_active.png)');
} else if(event.type == 'mouseleave') {
$('#list_img').css('background-image', 'url(<?=base_url()?>/assets/css/images/list_inactive.png)');
}
});
それがすべきことは、ホバーするとアイコンが変わることです。しかし、クリックすると、別のアイテムをクリックするまでアイコンはアクティブのままになります。mouseenter/mouseleave は問題ありません。問題はクリックから始まります。クリックするとジョブが実行されますが、マウスを移動すると、mouseleave 機能がアクティブになります。アイコンが再び非アクティブになることを意味します。