我有一個無序列表,每個列表項目背景在鼠標懸停在其上時都會改變顏色。如果鼠標不移動並且滾輪向下滾動,則光標會懸浮在不同的列表項上,但通過jQuery的懸停類不會被觸發。爲什麼是這樣?我該如何解決問題?使用鼠標滾輪滾動不會觸發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);
這個jQuery插件只是使用mousewheel事件。 document.getElemmentById('thing')。onmousewheel = yourFunc也會這樣做。我只在Chrome中進行了測試 – 2011-11-16 01:13:26
該插件標準化了您將從不同瀏覽器/平臺上的鼠標事件返回的增量。 – addedlovely 2011-11-16 13:15:01
如果您的目標是在項目滾動時調用懸停操作,則原始mousewheel事件最適合webkit。許多用戶界面並不關心三角洲(facebook ticker,gmail離線) – 2011-11-20 20:32:55