改写jtopo滚轮缩放代码
问题
原生的jtopo滚轮缩放在mac上用触控板触发时,会出现疯狂缩放的现象,同时还会触发浏览器的默认事件(页面前进、页面后退)
参考
地址:https://adom.as/javascript-mouse-wheel/
/** This is high-level function.* It must react to delta being more/less than zero.*/
function handle(delta) {if (delta < 0)…;else…;
}/** Event handler for mouse wheel event.*/
function wheel(event){var delta = 0;if (!event) /* For IE. */event = window.event;if (event.wheelDelta) { /* IE/Opera. */delta = event.wheelDelta/120;} else if (event.detail) { /** Mozilla case. *//** In Mozilla, sign of delta is different than in IE.* Also, delta is multiple of 3.*/delta = -event.detail/3;}/** If delta is nonzero, handle it.* Basically, delta is now positive if wheel was scrolled up,* and negative, if wheel was scrolled down.*/if (delta)handle(delta);/** Prevent default actions caused by mouse wheel.* That might be ugly, but we handle scrolls somehow* anyway, so don't bother here..*/if (event.preventDefault)event.preventDefault();event.returnValue = false;
}/** Initialization code. * If you use your own event management code, change it as required.*/
if (window.addEventListener)/** DOMMouseScroll is for mozilla. */window.addEventListener('DOMMouseScroll', wheel, false);
/** IE/Opera. */
window.onmousewheel = document.onmousewheel = wheel;
改变
修改后不会出现疯狂缩放,同时也不会触发浏览器事件
// 改写 滚轮缩放var event = a;// retrieve deltavar delta = 0;if (event.wheelDelta) {/* IE/Opera. */delta = event.wheelDelta / 120;} else if (event.detail) {/* Mozilla case. */// In Mozilla, sign of delta is different than in IE.// Also, delta is multiple of 3.delta = -event.detail / 3;}// If delta is nonzero, handle it.// Basically, delta is now positive if wheel was scrolled up,// and negative, if wheel was scrolled down.if (delta !== 0) {// calculate the new scalevar scale = mytest.scene.scaleX;var zoom = delta / 10;if (delta < 0) {zoom = zoom / (1 - zoom);}scale *= 1 + zoom;// apply the new scalemytest.scene.zoom(scale, scale);}// Prevent default actions caused by mouse wheel.event.preventDefault();// 原滚轮缩放// a.preventDefault();// n.dispatchEventToScenes("mousewheel", b), // 注意: 这段代码注释的话将不会触发jtopo的mousewheel事件// n.dispatchEvent("mousewheel", b), // scene // null != n.wheelZoom && (a.preventDefault ? a.preventDefault() : (a = a || window.event, a.returnValue = !1), 1 == n.eagleEye.visible && n.eagleEye.update()) // 鹰眼的缩放
改写jtopo滚轮缩放代码相关推荐
- 正交相机下实现滚轮按钮拖动,滚动滚轮缩放的功能
实现了一个功能,鼠标滚轮键按下可以拖动视野内的物体全体(其实是相机自己在移动),滚动滚轮可以缩放内容(其实是改变相机视野大小) 效果如下 代码奉上 1 using UnityEngine; 2 usi ...
- 百度地图滚轮缩放,所在点偏移问题
提出问题 <!DOCTYPE html> <html><head><meta http-equiv="Content-Type" cont ...
- 如何使用Google Maps API禁用鼠标滚轮缩放
我正在使用Google Maps API(v3)在页面上绘制一些地图. 我想做的一件事是在地图上滚动鼠标滚轮时禁用缩放,但我不确定如何. 我已禁用scaleControl(即删除了缩放UI元素),但这 ...
- vscode缩放代码_Visual Studio Code 缩放设置
Windows下的软件的操作都很类似,所以刚开始使用vs code的时候习惯性地使用Ctrl+鼠标滚轮进行缩放,然而在vs code上不管用. 在vs code中有两类缩放: 一.整体缩放:包括菜单栏 ...
- Lightbox改造——支持滚轮缩放
在做文章类型的web页时,经常会遇到要点开看大图的需求,LightBox2则是在众多产品中比较优秀的一款Jquery插件.配置就不细说了,今天我主要要分享的是:如何在点开大图后,可以通过鼠标滚轮来缩放 ...
- C#pictureBox滚轮缩放与拖拽
简要描述: 说到底还是对图片的控件进行缩放.及缩放picturebox控件,该图片控件缩放的最大范围为其依赖的panel(或者其他)控件决定. 1.通过鼠标滚轮事件MouseWheel进行缩放,往前滚 ...
- 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )
文章目录 一.鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 1.保存当前鼠标指针指向的位置 2.根据鼠标指针指向的位置以及比例重新计算图片位置 二.绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩 ...
- android h5 禁止缩放,vue h5移动端禁止缩放代码
vue h5移动端禁止缩放代码 安卓 在index.html里面写 ios 在APP.vue里面写 window.onload = function() { document.addEventList ...
- Winform中实现ZedGraph滚轮缩放后自动重新加载数据
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- Winform中设置ZedGraph鼠标滚轮缩放的灵敏度以及设置滚轮缩放的方式(鼠标焦点为中心还是图形中心点)
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
最新文章
- Win10:你需要来自XXX的权限才能对此文件夹进行更改
- List------Linked 链表
- callapplybind的js实现以及应用
- 业务专题篇:如何用数据评价某次活动?
- WebApiClient的JsonPatch局部更新
- powershell如何ping
- 如何让DevExpress.TreeList单元格中的自定义控件包含标签
- mysqlbinlog
- 按指定字符分割字符串
- 大数据行业包含的岗位有哪些
- 盘点20条Allegro操作指令,老司机都不一定掌握的技能
- 《微习惯:简单到不可能失败的自我管理法则》读书小结
- Redis发布订阅[西橙先生]
- GoLand No Tests Were Run : 不能使用 fmt.Printf() BUG
- IM即时通讯开发,聊天软件APP搭建,私有云部署
- [clear] python 种子转磁力链
- mac上如何彻底删除软件
- 5G套餐资费会越来越便宜,但需注意“限速机制”
- 多媒体计算机设计原则,多媒体课件的设计原则
- Day02:基本IO操作
热门文章
- java怎么实现微博评论_关于微博评论功能的设计与思考
- DirectShow介绍
- 二手笔记本测试软件,想买二手笔记本?先学会这些检测方法才最大限度不被坑...
- 对接湖南CA使用U_KEY登录
- 计算机联机玩游戏的操作方法,3种建立局域网的方式,不用网也可以联机玩游戏-局域网设置...
- 关于MAC的pkg和mpkg的分别
- 计算机硬盘没容量了,电脑硬盘容量怎么突然变少了
- JavaScript-68:数组的使用
- MSN 通信协议学习笔记(转)
- 海康威视在linux下使用笔记——ros驱动相机