Jquery 滑动网格在滚动时更改行背景色

Jquery 滑动网格在滚动时更改行背景色,jquery,css,slickgrid,Jquery,Css,Slickgrid,我正在使用SlickGrid的2.0a版本来实现分组功能。一切都很好(有很多定制)。我正在尝试更改滚动事件时整行的背景色 我试过这个: .slick-row { background-color:#dee0fe; } 这是: .slick-row.ui-state-active { background:#dee0fe; } 这适用于单个单元格: .lr:hover { background: #dee0fe; } 但是整排似乎都没用,我从来没有见过这样的例子。 我还将单元格设置为可选:

我正在使用SlickGrid的2.0a版本来实现分组功能。一切都很好(有很多定制)。我正在尝试更改滚动事件时整行的背景色

我试过这个:

.slick-row { background-color:#dee0fe; } 
这是:

.slick-row.ui-state-active { background:#dee0fe; }
这适用于单个单元格:

.lr:hover { background: #dee0fe; }
但是整排似乎都没用,我从来没有见过这样的例子。 我还将单元格设置为
可选:true,可聚焦:false

看起来应该很容易


谢谢

根据您问题中的CSS猜测一下:

 .slick-row:hover .lr {
     background-color:#dee0fe;
 }

您只需获取行中的单元格集合,然后在鼠标上按enter/Left键对每个单元格设置样式:

$('.slick-cell').mouseenter(function () {
     $(this.parentNode.children).addClass('slick-cell-hovered') ;
});

$('.slick-cell').mouseleave(function () {
     $(this.parentNode.children).removeClass('slick-cell-hovered');
});


.slick-cell-hovered 
{
     background: #EBEFF2 none;
}

这对我来说很好:

.slick-row:hover { background-color: red; }

我刚刚尝试过自己做这件事,这是我提出的一个简化版本。您可以对其进行大量整理,并且假设您的列没有更改,那么缓存哈希的内部部分是有意义的

使用API调用时,应该如下所示:

grid.onMouseEnter.subscribe(function (e) {
    var hash = {};
    var cols = grid.getColumns();

    for (var i = 0; i < cols.length; ++i) {
        hash[grid.getCellFromEvent(e).row][cols[i].id] = "hover";
    }

    grid.setCellCssStyles("hover", hash);
});

grid.onMouseLeave.subscribe(function (e) {
    grid.removeCellCssStyles("hover");
});
grid.onmouseinter.subscribe(函数(e){
var hash={};
var cols=grid.getColumns();
对于(变量i=0;i
虽然我投了更高的票,但事实并非如此简单。您还需要有:。slick row{background:white;}或类似的内容。如果您试图让一个最小样式的配置工作,您将需要两个css规则。