如何解决SlickGrid更改鼠标悬停时的行背景颜色
| 我正在使用SlickGrid的2.0a版本进行分组。一切都很好(有很多自定义)。我正在尝试将翻转事件中的整行更改为ѭ0。 我已经试过了:.slick-row { background-color:#dee0fe; }
还有这个:
.slick-row.ui-state-active { background:#dee0fe; }
这适用于单个单元格:
.lr:hover { background: #dee0fe; }
但是似乎没有任何内容适用于整个行,而且我从未见过这样的示例。
我也将单元格设置为selectable:true,focusable:false
。
似乎应该很容易...
谢谢
解决方法
这对我来说很好:
.slick-row:hover { background-color: red; }
,只是基于您问题中的CSS的一个猜测:
.slick-row:hover .lr {
background-color:#dee0fe;
}
,我自己也可以这样做,这是我提出的简化版本。您可以对此进行很多整理,并假设您的列不变,那么缓存哈希的内部是有意义的。
使用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\");
});
,您需要做的就是获取行中的单元格集合,并在每个单元格的鼠标输入/离开键上设置其样式:
$(\'.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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。