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

相關文章
相關標籤/搜索