だから私はこのホバーコードを持っています:
function shortHover(elem){
$('body').delegate(elem, 'hover',
function() {
$(this).css("background-color", "#f0c723;")
},
function(){
$(this).css("background-color", "#00ed00;")
}
)
}
shortHover("#for_width_my_added");
shortHover("#for_width_my_published");
shortHover("#for_width_my_unpublished");
さらに、これらの要素のいずれかをクリックすると、次のようになります。
$("#for_width_my_added").css("background-color", "#00ed00");
$("#for_width_my_published").css("background-color", "#00ed00");
$("#for_width_my_unpublished").css("background-color", "#00ed00");
$("#for_width_<%= @output[0] %>").css("background-color", "#f0c723");
したがって、緑色に割り当てられ、現在クリックされている要素をクリックすると、ホバーの色になり、1 つの要素がこれらの色を永続的に持つことができます。
問題は、要素をクリックした後、ホバー時に反応が停止することです。デリゲートを使用しましたが。なんで?