如何在HTML中禁用Ctrl+滾輪的頁面放大和縮小功能?

如何在HTML中禁用Ctrl+滾輪的頁面放大和縮小功能?

本文介紹如何在html頁面中禁用Ctrl鍵結合鼠標滾輪的頁面縮放功能。 一些開發者嘗試使用resize事件,但效果不佳。 以下提供兩種有效的解決方案:

方案一:原生JavaScript方法

此方法通過監聽mousewheel和keydown事件,并阻止默認行為來實現。代碼如下:

document.addEventListener('mousewheel', function(e) {   e = e || window.event;   if ((e.wheelDelta && e.ctrlKey) || e.detail) {     e.preventDefault();   } }, { capture: false, passive: false });  document.addEventListener('keydown', function(event) {   if ((event.ctrlKey || event.metaKey) &&       (event.keyCode === 61 || event.keyCode === 107 ||        event.keyCode === 173 || event.keyCode === 109 ||        event.keyCode === 187 || event.keyCode === 189)) {     event.preventDefault();   } }, false);

方案二:vue.JS方法

立即學習前端免費學習筆記(深入)”;

在Vue.js框架中,可以通過methods和mounted生命周期鉤子來控制頁面縮放比例。示例代碼如下:

methods: {   keepRatio() {     let ratio = 0;     const screen = window.screen;     const ua = navigator.userAgent.toLowerCase();     if (window.devicePixelRatio !== undefined) {       ratio = window.devicePixelRatio;     } else if (ua.indexOf('msie') > -1) {       if (screen.deviceXDPI && screen.logicalXDPI) {         ratio = screen.deviceXDPI / screen.logicalXDPI;       }     } else if (window.outerWidth && window.innerWidth) {       ratio = window.outerWidth / window.innerWidth;     }     if (ratio) { ratio = Math.round(ratio * 100); }     this.ratio = (ratio / 100).toFixed(2);     document.body.style.zoom = 1 / this.ratio;   } }, mounted() {   this.keepRatio();   window.addEventListener('resize', this.keepRatio); }

這兩種方法都能有效地防止Ctrl+滾輪縮放頁面,確保頁面視圖的一致性。 選擇哪種方法取決于你的項目是否使用Vue.js框架。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享