2015-07-10 21 views
0

如何切换hoverclick当窗口大小变化jQuery的响应悬停,然后单击SWTICH

function checkWidth() { 
var windowsize = $window.width(); 
    if (windowsize > 480) { 
     $('#clickPoint').on('click', function(){ 
     ......//code 
     }); 
    }else { 
     $('#clickPoint').on('hover',function(){ 
     ......//code   
     }); 
    } 
}(); 

$(window).resize(checkWidth); 

但是我发现悬停总是对的,所以我不得不改变,以这种方式

var windowsize = $window.width(); 
     if (windowsize > 480) { 
      $('#clickPoint').on('click', function(){ 
      ......//code 
      }); 
     }else { 
      $('#clickPoint').off('click', function(){ 
      ......//code 
      }); 
      $('#clickPoint').on('hover',function(){ 
      ......//code   
      }); 
     } 
    }(); 

但仍然无法正常工作,如果有人有更好的解决方案?谢谢

+1

你能否解释一下“仍不能正常工作”? – JimiLoe

+0

请通过添加您的html代码来生成一个显示您的问题的工作示例。 –

回答

1

仔细看看$window.width()。我怀疑这一点。尝试将其更改为$(window).width()。更改您在顶部提供的代码。因为底部的代码看起来很乱。

此外,请确保使用警报或日志检查窗口宽度。只是为了确保if语句正常工作。

0

尝试像这样

 var permit=2; 
     $('#clickPoint').on('click', function(){ 
      if(permit==0) 
      { 
     ......//code 
      } 
     }); 
      $('#clickPoint').on('hover',function(){ 
      if(permit==1) 
      { 
     ......//code   
      } 
     }); 
function checkWidth() { 
var windowsize = $(window).width(); 
    if (windowsize > 480) { 
     permit=0; 

    }else { 
     permit=1; 
    } 
} 

$(window).resize(checkWidth);