GMaps v3:如何在鼠标滚动地图之前取消鼠标滚动事件
GMaps v3: How to cancel mouse scroll events before they scroll map
使用Google maps v2,我能够通过处理和取消鼠标滚动事件来阻止鼠标滚动(dommousescroroll)事件进入地图和缩放地图。但是,在v3中,这不再工作了。
下面是一个例子。尝试用鼠标滚轮滚动文本
请注意,拖动和双击在到达地图之前是如何被取消的,但是如果您尝试滚动文本,那么dommousescroroll事件将直接进入地图。
取消事件的代码基本上与v2相同,看起来像这样:
// Set the overlay's div_ property to this DIV
this.div_ = div;
var cancelEvent = function(e)
{
if( (navigator.userAgent.toLowerCase().indexOf('msie') != -1 && document.all) ||
navigator.userAgent.indexOf('Opera') > -1) {
window.event.cancelBubble = true;
window.event.returnValue = false;
} else {
e.stopPropagation();
}
return false;
}
var panes = this.getPanes();
panes.floatPane.appendChild(div);
var stealEvents = [ 'mousedown', 'dblclick', 'DOMMouseScroll', 'onmousewheel', 'drag'];
for( i=0; i < stealEvents.length; i++ ){
google.maps.event.addDomListener(this.div_, stealEvents[i], cancelEvent);
}
// for IE/Opera
if( (navigator.userAgent.toLowerCase().indexOf('msie') != -1 && document.all) ||
navigator.userAgent.indexOf('Opera') > -1) {
this.div_.attachEvent('onmousewheel', cancelEvents);
}
// for safari
if ( navigator.userAgent.indexOf('AppleWebKit/') > -1) {
this.div_.onmousewheel = cancelEvents;
}
初始化V3 Map时,您可以指定一个选项来禁用滚轮缩放:
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP,
scrollwheel: false
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
谷歌地图V3 -地图选项
您要查找的选项是scrollwheel -您希望将其设置为False -默认情况下该设置为True
约翰的回答太棒了,我不能评论[由于代表],所以我这样回答——尽管这个答案已经被接受了(大约两年前)。
显然JS的布尔值是小写的,所以正确的代码是:var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP,
scrollwheel: false
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
相关文章:
- JQuery UI可拖动潜水与滚动棒到鼠标
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- fullpage.js和物化.js;使用实体侧导航禁用鼠标滚动
- 如何避免鼠标水平滚动选项卡面板溢出
- 如何在鼠标滚轮滚动上设置剪切遮罩的动画
- 如何使用鼠标滚动控制fullPage.js垂直滑块
- 使用鼠标滚轮水平滚动页面
- 网站跟随鼠标滚动
- 用鼠标逐个滚动页面
- 当用户将鼠标移到屏幕/图表上时,自动滚动将暂停.如果鼠标移动停止,自动滚动将再次恢复
- jQuery UI 对话框和滚动块竞争鼠标
- JQuery 自动滚动到底部(但在鼠标滚动时禁用)
- 我想要一个类似于网站 https://onlycoin.com/ 的jQuery鼠标滚动动画效果
- 禁用预测滚动 - 鼠标滚轮 (OnScroll) 事件触发过于频繁(触摸板)
- 在动态创建的 svg 元素上滚动鼠标时放大/缩小
- 垂直滚动鼠标时图像移动
- 停止滚动鼠标
- carouFredSel滚动鼠标按下
- 气泡滚动/鼠标滚轮事件
- 如何获取 CKEDITOR 文本区域的滚动/鼠标/光标的 X Y 位置