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

关键词: jquery教程