double click
by yshrkn
HTML
<button id="myButton">Button</button><br>
<output id="result"></output>
CSS
#result {
display: inline-block;
height: 1em;
padding: 5px;
background-color: white;
border: 2px solid black;
min-width: 100px;
}
JavaScript
/**
* a)ダブルクリックか、b)シングルクリックかを自前で判定してください。
* 500ミリ秒以内に連続してボタンを2回クリックした場合は、ダブルクリックとみなしてください。
*
* aの場合はダブルクリック、bの場合は「シングルクリック」と、
* #resultに出力してください。
*/
var btn = document.getElementById('myButton');
var output = document.getElementById('result');
var recentClickDate;
btn.addEventListener('click', function() {
if (recentClickDate !== undefined) {
var startDate = new Date();
var isDoubleClick = (startDate - recentClickDate) < 500 ? true : false;
console.log("差:", startDate - recentClickDate)
recentClickDate = startDate;
if (isDoubleClick) {
output.textContent = "ダブルクリック";
} else {
output.textContent = "シングルクリック";
}
} else {
recentClickDate = new Date();
setTimeout(function() {
output.textContent = "シングルクリック";
}, 500);
}
});