Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不同断点大小的不同事件_Javascript_Jquery_Frontend - Fatal编程技术网

Javascript 不同断点大小的不同事件

Javascript 不同断点大小的不同事件,javascript,jquery,frontend,Javascript,Jquery,Frontend,尝试使元素在小断点(移动设备或瘦浏览器窗口)上可单击,但在大断点上可悬停 我正在根据屏幕大小创建不同的事件,但是当从大到小调整大小时,仍然会触发大事件 我想当屏幕大小改变时,我需要删除事件侦听器,但我一直在这样做 代码笔示例: let hello=document.querySelector('.hello') 让宽度=$(窗口).width() $(窗口).bind(“加载调整大小”,函数(){ 让宽度=$(窗口).width() 如果(宽度{ 警报(“移动”) } }否则{ hello.on

尝试使元素在小断点(移动设备或瘦浏览器窗口)上可单击,但在大断点上可悬停

我正在根据屏幕大小创建不同的事件,但是当从大到小调整大小时,仍然会触发大事件

我想当屏幕大小改变时,我需要删除事件侦听器,但我一直在这样做

代码笔示例:

let hello=document.querySelector('.hello')
让宽度=$(窗口).width()
$(窗口).bind(“加载调整大小”,函数(){
让宽度=$(窗口).width()
如果(宽度<600){
hello.onclick=()=>{
警报(“移动”)
}
}否则{
hello.onmouseover=()=>{
警报(“桌面”)
}
}
});

不要这样做。相反,请检查事件处理程序内的屏幕宽度。他不是已经这样做了吗?@weltschmerz否。他正在决定在加载页面时或调整页面大小时绑定哪些处理程序,如果是调整大小处理程序,则可能需要取消绑定以前绑定的处理程序。@connexo谢谢,你刚才给我指出了正确的方向,看起来效果不错
let hello = document.querySelector('.hello')
let width = $(window).width()
$(window).bind("load resize", function() {
  let width = $(window).width()
  if ( width < 600 ) {
    hello.onclick = () => {
      alert('mobile')
    }
  } else {
    hello.onmouseover = () => {
      alert('desktop')
    }
  }
});