Javascript 关于jqGrid的两个问题

Javascript 关于jqGrid的两个问题,javascript,jqgrid,Javascript,Jqgrid,我需要消除当您在jqgrid中的列标题上进行鼠标悬停时出现的鼠标悬停高亮显示,而不需要其他操作。有关于如何做到这一点的文档吗?或者我可以从哪里开始呢?另外,如何根据列标题中字符串的宽度获得自动列宽?我需要手动设置吗 谢谢 为清晰起见进行了更新 我用桌布。我去掉了表的排序功能(这给了我一些问题)。但当您将鼠标移到它上面时,该列仍然亮起。我的肛门保持BA希望这种功能消失。所以它必须走。是否没有自动列宽选项?jqGrid上的人需要适应它。如果我早知道这一点,我会选择一个不同的工具 var $g

我需要消除当您在jqgrid中的列标题上进行鼠标悬停时出现的鼠标悬停高亮显示,而不需要其他操作。有关于如何做到这一点的文档吗?或者我可以从哪里开始呢?另外,如何根据列标题中字符串的宽度获得自动列宽?我需要手动设置吗

谢谢

为清晰起见进行了更新

我用桌布。我去掉了表的排序功能(这给了我一些问题)。但当您将鼠标移到它上面时,该列仍然亮起。我的肛门保持BA希望这种功能消失。所以它必须走。是否没有自动列宽选项?jqGrid上的人需要适应它。如果我早知道这一点,我会选择一个不同的工具

    var $grid = $('#table1'),
        hdiv = $grid[0].grid.hDiv,
        $columnHeaders = $("thead tr.ui-jqgrid-labels th", hdiv)
    $columnHeaders.unbind('mouseenter');
    $columnHeaders.unbind('mouseleave');
更新:如何调用代码


如果我知道你纠正了你的问题是jqGrid代码

$("thead tr:first th",this).hover(
    function(){$(this).addClass('ui-state-hover');},
    function(){$(this).removeClass('ui-state-hover');}
);
该方法是创建和绑定的快捷方式。因此,要解除事件绑定,需要执行以下代码:

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');

查看演示。

抱歉,您的问题不够清楚。您是否尝试过
headertitles:true
jqGrid选项?没有基于字符串宽度的自动列宽。如果将字符串放在
中,并获得
jQuery.width
,则可以计算字符串宽度。应在创建网格之前进行计算。整个解决方案不会这么简单。你应该写简短的评论,通知你对问题的文本进行了更改。我发现你随机更新了你的问题。你应该在
jQuery(document.ready(function(){…})
块中的
tableToGrid
后面直接放置
unbind
代码。很好的解释。我获取了一个无法获取属性“grid”的值:对象为null或未定义exception@DmainEvent:请确保代码使用错误。创建jqGrid的所有DOM
元素上都存在
grid
属性。抱歉?我不确定我是否理解。所以所有的表都有一个网格元素,或者只是带有jqGrid的表?我将更新我的帖子,说明我是如何使用代码的。@DmainEvent:如果您有HTML代码
,那么
$(“#列表”)
是表示
元素的DOM元素的jQuery包装器。
$(“#list”)[0]
是DOM元素本身。使用
$(“#list”).jqGrid({…})
创建jqGrid后,jqGrid将添加一些附加属性。附加属性中的一个是
grid
,您可以使用
$(“#list”)[0]获取该属性。有关详细信息,请参阅。@DmainEvent:当然,您应该使用我在创建jqGrid后发布的代码,该代码与
tableToGrid
有关。
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');