$('#element').click(function() {
if(clickTimeout !== false) {
// I'm doubleclick!
clearTimeout(clickTimeout);
clickTimeout = false;
} else {
clickTimeout = setTimeout(function() {
// I'm click!
clickTimeout = false;
}, 400);
}
});
$('body').append('<div>clickTimeout = ' + clickTimeout + '</div>');
完整程式碼如下 :
var clickTimeout = false;
$('#test').click(function() {
//每一次點擊都輸出一次clickTimeout觀察
$('body').append('<div>clickTimeout = ' + clickTimeout + '</div>');
if(clickTimeout !== false) {
// I'm doubleclick!
clearTimeout(clickTimeout);
$('a').text('I\'m doubleclick!'); // 測試改變物件
console.log(clickTimeout); // Firebug檢測變數
clickTimeout = false;
} else {
clickTimeout = setTimeout(function() {
// I'm click!
$('a').text('I\'m click!');
console.log(clickTimeout);
clickTimeout = false;
}, 400);
}
});
clickTimeout = false
clickTimeout = false
clickTimeout = 2
clickTimeout = false
clickTimeout = 3
clickTimeout = false
clickTimeout = false
clickTimeout = false
clickTimeout = false
clickTimeout = false
clickTimeout = 8
在尋求大神的協助之下發現 The return value is an ID that can be used by cancelTimeout()to cancel the operation. 這段解釋。
1. 點擊第一下 clickTimeout 變數為 false , false !== false # 傳回 false 所以判斷式移至else block.
評論
此文章尚無評論。