我需要摆脱鼠标悬停在jqgrid中的列标题上时发生的鼠标悬停突出显示。有关如何做到这一点的任何文件?或者我可以在哪里开始?另外,如何根据列标题中字符串的宽度获取自动列宽?我必须手动设置吗?
感谢。
更新了清晰度
我使用tabletoGrid。我摆脱了表的排序功能(它给了我一些问题)。但当你将鼠标悬停在它上面时,列仍会亮起。我的肛门保持BA希望功能消失。所以一定要去。没有自动列宽选项? jqGrid上的伙伴需要得到它。如果我早些时候知道这一点,我会选择一个不同的工具。
var $grid = $('#table1'),
hdiv = $grid[0].grid.hDiv,
$columnHeaders = $("thead tr.ui-jqgrid-labels th", hdiv)
$columnHeaders.unbind('mouseenter');
$columnHeaders.unbind('mouseleave');
更新:我如何调用代码
jQuery(document).ready(function () {
tableToGrid("#table1", { cmTemplate: { sortable: false },
height: 500,
autowidth: true,
colNames: ['Name', 'Description', 'Population Type']
});
});
var $grid = $('#table1'),
hdiv = $grid[0].grid.hDiv,
$columnHeaders = $("thead tr.ui-jqgrid-labels th", hdiv)
$columnHeaders.unbind('mouseenter');
$columnHeaders.unbind('mouseleave');
答案 0 :(得分:1)
如果我理解你的问题是你的问题是jqGrid代码的the line
$("thead tr:first th",this).hover(
function(){$(this).addClass('ui-state-hover');},
function(){$(this).removeClass('ui-state-hover');}
);
hover方法是mouseenter和mouseleave绑定的快捷方式。因此,要取消绑定您需要的事件,请执行以下代码:
var $grid = $('#list'), // the grid
hdiv = $grid[0].grid.hDiv, // DOM of the hdiv - the div which contain headers
$columnHeaders = $("thead tr.ui-jqgrid-labels th", hdiv); // th elements
$columnHeaders.unbind('mouseenter');
$columnHeaders.unbind('mouseleave');
请参阅演示here。