Прокрутка с помощью колеса прокрутки мыши не вызывает зависания или наведения мыши в jQuery - PullRequest
2 голосов
/ 05 июня 2011

У меня есть неупорядоченный список с изменением цвета фона каждого элемента списка при наведении на него курсора мыши. Если мышь не двигается и колесо прокрутки прокручивается вниз, курсор перемещается над различными элементами списка, но класс наведения курсора через jQuery не запускается. Почему это? Как мне решить проблему?

Вот код.

(function ($) {
  Drupal.behaviors.jMapping =  {
    attach: function(context, settings) {
      var jMap,
          pointToMoveTo,
          data,
          bounds,
          icon,
          $el;

      $('#map').height(200).jMapping({
        category_icon_options: {
          'default': {color: '#7CDF65'}
        }
      });

      jMap = $('#map').data('jMapping');
      bounds = jMap.getBounds();

      $.each(jMap.gmarkers, function(id, marker){  

        google.maps.event.addListener(marker, 'mouseover', function() {
          $('#nid-' + id).addClass('hover');
        });
        google.maps.event.addListener(marker, 'mouseout', function() {
          $('#nid-' + id).removeClass('hover');
        });
      });


      $("#map-side-bar li").mouseenter(function() {

        $el = $(this);
        data = $el.data('jmapping');

        if (!$el.hasClass("hover")) {
          $el.addClass("hover");

          jMap.gmarkers[data.id].styleIcon.set("color", "#017DC3"); 
          pointToMoveTo = $.jMapping.makeGLatLng(data.point);
          jMap.map.panTo(pointToMoveTo);
        }
      }).mouseleave(function() {
        $("#map-side-bar li").removeClass("hover");
        jMap.gmarkers[data.id].styleIcon.set("color", "#7CDF65");    
      });
    }
  };
})(jQuery);

Ответы [ 2 ]

1 голос
/ 24 мая 2012

Посмотрите на это, это может решить проблему.

как выделить строки в таблице при наведении мыши?

0 голосов
/ 05 июня 2011

Проверьте плагин mousewheel от Брэндона Аарона:

Плагин jQuery, который добавляет кросс-браузерную поддержку колесика мыши.

// using bind
$('#my_elem').bind('mousewheel', function(event, delta) {
    console.log(delta);
});

// using the event helper
$('#my_elem').mousewheel(function(event, delta) {
    console.log(delta);
});
...