改写jtopo滚轮缩放代码
来源:互联网 发布:拜年视频制作软件 编辑:程序博客网 时间:2024/05/21 05:17
问题
原生的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 delta var 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 scale var scale = mytest.scene.scaleX; var zoom = delta / 10; if (delta < 0) { zoom = zoom / (1 - zoom); } scale *= 1 + zoom; // apply the new scale mytest.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()) // 鹰眼的缩放
阅读全文
0 0
- 改写jtopo滚轮缩放代码
- jtopo限制滚轮缩放范围,zoomOut()与zoomIn()缩放限制
- 找了段滚轮缩放图片的JS代码
- jtopo
- jTopo
- 用滚轮实现图片缩放
- 鼠标滚轮缩放图片javascript
- 用滚轮实现图片缩放
- js 鼠标滚轮缩放图片
- jquery滚轮实现图片缩放
- SceneControl+AE+鼠标滚轮缩放
- 鼠标滚轮实现图片缩放
- Ctrl+滚轮 禁止页面缩放
- 图片旋转,鼠标滚轮缩放,镜像,切换图片js代码
- 代码改写小结
- 关于改写代码
- 三、odataproducer代码改写
- quake3代码C++改写,Cmd_AddCommand改写
- Kotlin的扩展属性和扩展方法
- 如何利用人工神经网络加速自然历史科学的发展?
- 中国人工智能如何走向全世界?依图全球化战略揭秘
- jdbc编程操作数据库(mysql为例)
- 当美国民众将AI和工作自动化画上等号
- 改写jtopo滚轮缩放代码
- 暗黑斯坦福历史,从被人看不起到称霸全球
- jquery源码解析
- 数据可视化matplotlib(01) 图的选择
- nhmicro技术框架应用说明(事务、aop、分库分表、读写分离)
- IO流(一)
- BroadCast Receiver详解
- Java的第一个坑,多线程入门
- 一个子系统的配置