그래서 나는이 호버 코드가 마우스를 비활성화합니다호출 .CSS() 함수는
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");
녹색, 그리고 현재 클릭 - 호버의 색상, 그래서 한 요소가 영원히 이러한 색상을 가질 수 있습니다.
문제는 요소 위로 클릭 한 후 마우스 오버시 반응이 멈췄습니다. 델리게이트를 사용했지만. 왜?
''hover'와 함께'delegate'을 사용할 수 없습니다. 실제 이벤트는 아닙니다. 'delegate'는 하나의 이벤트에 대해서만 하나의 핸들러 함수를 제공합니다. '.hover()'는'mouseIn' 및'mouseOut' 핸들러 바인딩을위한 jQuery 단축형입니다. – Barmar