два вопроса по jqGrid - PullRequest
       0

два вопроса по jqGrid

0 голосов
/ 03 ноября 2011

Мне нужно избавиться от подсветки при наведении курсора мыши, которая возникает, когда вы наводите курсор мыши на заголовки столбцов в jqgrid и ничего больше. Любая документация о том, как это сделать? Или где я мог начать? Кроме того, как я могу получить автоматическую ширину столбца на основе ширины строки в заголовке столбца? Должен ли я установить это вручную?

Спасибо.

Обновлено для ясности

Я использую tabletoGrid. Я избавился от функциональности сортировки таблицы (это доставляло мне некоторые проблемы). Но когда вы наводите курсор мыши, колонка все еще загорается. Мой анальный реставратор хочет, чтобы эта функциональность исчезла. Так что иди надо. Нет автоматической опции ширины столбца? Ребята на 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 Ответ

1 голос
/ 03 ноября 2011

Если я правильно понял, ваша проблема в том, что строка кода jqGrid

$("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');

См. Демонстрационную версию здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...