jquery resize()方法中click会触发两次的解决方法
在 resize()
方法中添加 click
事件,点击一下会触发两次,会导致使用 toggle 类型的方法有异常。
示例:
$(window).resize(function(){ $('button').click(function(){ $('p').fadeToggle('fast'); }); }).trigger('resize');
上面的代码点击一下 button 后,p 标签的内容会显示后立即隐藏,这是因为连续触发了两次的 button 点击。
解决方法是在点击前,先取消 click 事件,然后再继续点击。
代码如下:
$(window).resize(function(){ $('button').off('click').click(function(){ $('p').fadeToggle('fast'); }); }).trigger('resize');
jquery 1.7 之前的版本,把 off
替换为 unbind
。