关于jqGrid的两个问题

时间:2011-11-02 23:33:54

标签: javascript jqgrid

我需要摆脱鼠标悬停在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');

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题是你的问题是jqGrid代码的the line

$("thead tr:first th",this).hover(
    function(){$(this).addClass('ui-state-hover');},
    function(){$(this).removeClass('ui-state-hover');}
);

hover方法是mouseentermouseleave绑定的快捷方式。因此,要取消绑定您需要的事件,请执行以下代码:

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