Catch browser's “zoom” event in JavaScript

前端 未结 16 1880
眼角桃花
眼角桃花 2020-11-22 05:45

Is it possible to detect, using JavaScript, when the user changes the zoom in a page? I simply want to catch a \"zoom\" event and respond to it (similar to window.onresize e

16条回答
  •  感动是毒
    2020-11-22 06:01

    Here is a native way (major frameworks cannot zoom in Chrome, because they dont supports passive event behaviour)

    
    //For Google Chrome
    document.addEventListener("mousewheel", event => {
      console.log(`wheel`);
      if(event.ctrlKey == true)
      {
        event.preventDefault();
        if(event.deltaY > 0) {
          console.log('Down');
        }else {
          console.log('Up');
        }
      }
    }, { passive: false });
    
    // For Mozilla Firefox
    document.addEventListener("DOMMouseScroll", event => {
      console.log(`wheel`);
      if(event.ctrlKey == true)
      {
        event.preventDefault();
        if(event.detail > 0) {
          console.log('Down');
        }else {
          console.log('Up');
        }
      }
    }, { passive: false });
    
    

提交回复
热议问题