2014-01-11 2 views
1

У меня есть сетка с сеткой, которую я хочу изменить цветом фона строк при наведении строк. Я пробовал:Slickgrid, изменить цвет строки при наведении

$(".slick-row").mouseenter(function(){ 
    $(this).css("background-color","red"); 
}).mouseleave(function(){ 
    $(this).css("background-color","white"); 
}); 

но это не работает. Есть ли способ сделать это?

ответ

4

Поскольку вы используете slickgrid целевые строки будут динамичными, так что используйте event delegation для регистрации обработчиков событий.

$(document).on('mouseenter', ".slick-row", function() { 
    $(this).css("background-color", "red"); 
}).on('mouseleave', ".slick-row", function() { 
    $(this).css("background-color", "white"); 
}); 

изменение также селектор $(document) к более конкретному одному.

+0

звучит как работа, но только нечетные строки имеют фон при наведении на них четной строки нет. – OussamaLord

+0

выглядит как какой-то css с вашего конца переписывает стиль. У вас есть другой стиль для нечетных строк. –

+0

@OussamaLord Я только что протестировал его на странице примера slickgrid http://mleibman.github.io/SlickGrid/examples/ example1-simple.html, и это кажется прекрасным - перейдите на страницу -> открыть консоль браузера -> скопируйте и вставьте скрипт и выполните его -> наведите указатель на строки –

-1

Попробуйте это:

EXAMPLE

$(".slick-row").hover(function(){ 
    $(this).css("background-color","red"); 
}).mouseout(function(){ 
    $(this).css("background-color","white"); 
}); 
+0

Не работает с сеткой – OussamaLord

+0

-1, потому что парить должен абстрагироваться от mousein/из которой он инкапсулирует и также осуждается в пользу MouseEnter/оставить Nowa-дней. –

7

Почему бы не просто добавить CSS?

.slick-row:hover{ 
    background: none repeat scroll 0 0 red; 
} 
Смежные вопросы