onclick ondblclick事件共存的方法

var click_flag;
function onclick(){
	click_flag = false;
	window.setTimeout(function(){
		if (!click_flag) {
			// onclick code
		}
	}, 200);
}

function ondblclick(){
	click_flag = true;
	// ondblclick code;
}

    在使用input标签的onclick和ondblclick事件时,会出现双击触发两次事件的异常状况。想要得到正常的点击行为代码如上。javascript

    原理很简单,双击时会先触发onclick事件,flag标示当前执行哪一种事件。但onclick事件是延时200ms执行的,在此期间触发了ondblclick事件,将flag置为true,onclick事件被跳过。java

    不过我以为应该有成熟的按钮控件,还要再研究一下,若是有知道的朋友能够留言,感谢。code

相关文章
相关标签/搜索