我的SlickGrid表格中的某些單元格有myClass
類。SlickGrid中的單元格工具提示
我加了一個提示他們是這樣的:
$(".myClass").hover(// Mouse enters
function(e) {...},
// Mouse leaves
function() {...});
它工作正常,但如果我滾動表的底部,然後滾動回頂端,工具提示不會再出現。
有人可以提出任何解決方法嗎?
謝謝!
我的SlickGrid表格中的某些單元格有myClass
類。SlickGrid中的單元格工具提示
我加了一個提示他們是這樣的:
$(".myClass").hover(// Mouse enters
function(e) {...},
// Mouse leaves
function() {...});
它工作正常,但如果我滾動表的底部,然後滾動回頂端,工具提示不會再出現。
有人可以提出任何解決方法嗎?
謝謝!
嘗試:
$('.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()
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
});
單元格,行和項目是如何得到的數據只是一個例子
有用於Slickgrid一個插件,將顯示該過大在單元格中顯示的項目提示(如果這就是你最終希望做): SlickGrid: how to view full text for long cell entries?
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");
}
}
最好解釋爲什麼你的代碼是正確的答案,解決方案在哪裏。 – 2013-10-22 08:04:31
好極了!它的工作:)有一件事困擾我:我在文檔中看到「The .hover()方法綁定了mouseenter和mouseleave事件的處理程序」。那麼,爲什麼用'mouseenter'替換'mouseover'將不起作用?我檢查並發現,如果我把'mouseenter'而不是'mouseover',那麼'function(event){..}'也會在event.type =「mouseover」時被調用。這是爲什麼 ?謝謝你的幫助 ! – 2010-05-06 05:09:18
'hover()'不適用於'live()'... – Reigel 2010-05-06 05:41:28
live()已被棄用,它在jQuery 1.9中不再存在。 – markus 2013-02-27 12:32:16