我的SlickGrid表中的某些单元格有myClass
类。
我为他们添加了一个工具提示:
$(".myClass").hover(// Mouse enters
function(e) {...},
// Mouse leaves
function() {...});
它工作正常,但是如果我将表格滚动到底部,然后将其滚动回到顶部,则工具提示不再出现。
有人可以建议任何解决方法吗?
谢谢!
答案 0 :(得分:14)
grid.onMouseEnter.subscribe(function(e, args) {
var cell = grid.getCellFromEvent(e)
var row = cell.row
var item = dataView.getItem(row);
//do whatever
});
grid.onMouseLeave.subscribe(function(e, args) {
//do whatever
});
单元格,行和项目只是如何获取数据的示例
答案 1 :(得分:4)
尝试:
$('.myClass').live('mouseover mouseout', function(event) {
// works only on jQuery 1.4.1 and up
if (event.type == 'mouseover') {
// Mouse enters
} else {
// Mouse leaves
}
});
如果这不起作用,我猜测.myClass
已被删除,所以请尝试在每个卷轴中再次添加...
无论哪种方式,请使用live()
答案 2 :(得分:3)
Slickgrid有一个插件,它会显示太大而无法在单元格中显示的项目的工具提示(如果这是您最终要做的事情): SlickGrid: how to view full text for long cell entries?
答案 3 :(得分:0)
1. include ../slick/plugins/slick.autotooltips.js
ex)
<script src="/jsp/slick/plugins/slick.autotooltips.js"></script>
2. add code
$.get(url,function(data){
...
grid.registerPlugin( new Slick.AutoTooltips({ enableForHeaderCells:
true }) );
...
more...
use jquery.ui.tooltips
ex)
<link rel="stylesheet" href="/jsp/jui/themes/base/jquery.ui.tooltip.css"/>
<script src="/jsp/jui/ui/jquery.ui.core.js"></script>
<script src="/jsp/jui/ui/jquery.ui.widget.js"></script>
<script src="/jsp/jui/ui/jquery.ui.position.js"></script>
<script src="/jsp/jui/ui/jquery.ui.tooltip.js"></script>
open slick.grid.js and modify function 2436(line)
function setActiveCellInternal(newCell, opt_editMode) {
if (activeCellNode !== null) {
makeActiveCellNormal();
$(activeCellNode).removeClass("active");
try{$( document ).tooltip("destroy");}catch(e){} // <<<< add code
try{$( document ).tooltip();}catch(e){} // <<<< add code
if (rowsCache[activeRow]) {
$(rowsCache[activeRow].rowNode).removeClass("active");
}
}