jqGrid отключить подсветку строк - PullRequest
7 голосов
/ 29 сентября 2010

Как можно программно отключить сетку от выделения строки, когда вы наводите курсор мыши на нее? Нужно отключить это только в определенное время.


Это код от Олега, который работал:

  $('#result-close').click(function() {  
      //Turn off hover highlighting
      $("#list").unbind('mouseover');
      $("#list").unbind('mouseout');

      //Highlight row                    
      $("#" + selid).effect("highlight", {}, 5000);  

      //Turn on hover highlighting 
      setTimeout(function(){ 
                    $("#list").bind('mouseover',function(e) {
                        ptr = $(e.target).closest("tr.jqgrow");
                        if($(ptr).attr("class") !== "subgrid") {
                            $(ptr).addClass("ui-state-hover");
                        }
                        return false;
                    }).bind('mouseout',function(e) {
                        ptr = $(e.target).closest("tr.jqgrow");
                        $(ptr).removeClass("ui-state-hover");
                        return false;
                    });
      }, 2000);         

      $('#dialog').dialog( "close" );
  });

Ответы [ 3 ]

23 голосов
/ 29 сентября 2010

Использование hoverrows:false опция .

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

В настоящее время я заменяю существующий обработчик при наведении мыши на промежуточную функцию, которая просто вызывает существующий обработчик, если сетка включена, например:

var enabled = true;
var jqe = jQuery("#grid");
var mouseover = jqe.data('events').mouseover[0].handler;
jqe.unbind('mouseover');
jqe.bind('mouseover', function() {
    if (enabled) {
        mouseover.apply(this, arguments);
    }
});

Таким образом, мне не нужно копироватьКод события jqgrid.

Мне не нравится использование mouseover [0] .handler, но на данный момент оно работает.

0 голосов
/ 29 сентября 2010

Простой поиск в Google показал этот источник: http://www.trirand.net/examples/appearance/highlight_on_hover/default.aspx

"По умолчанию jqGrid высвечивает ряды при наведении курсора. Это контролируется свойством AppearanceSettings.HighlightRowsOnHover - при значении false это отключается."

...