我有一个slickgrid,在'onMouseEnter'事件中,我执行以下操作:
后两个调用对于反映新的css类是必要的。然而,我需要捕获onMouseLeave事件,当我将鼠标从单元格(或行)移开时它不会被触发,大概是因为对invalidate / render的调用在我的鼠标下放置了一个新的DOM元素,而且它是不再是我最初“进入”的那个。
所以我有两个问题:
答案 0 :(得分:1)
一种选择是使用setCellCssStyles功能。
grid.onMouseEnter.subscribe(function(e, args){
var cell = grid.getCellFromEvent(e),
param = {},
columnCss = {};
for(index in columns){
var id = columns[index].id;
columnCss[id] = 'my_highlighter_style'
}
param[cell.row] = columnCss
args.grid.setCellCssStyles("row_highlighter", param);
})
因此,上述内容会更改已被moused进入的background-color
的每个单元格的row
。在my fiddle中,mouseLeave
订阅会执行一个简单的console.log
,以确保它仍在触发。
修改:修复了小提琴中的外部资源使用情况以获得跨浏览器支持