tja, zavisi od browsera nazalost... za IE i Firefox i Operu 9 ovo lepo radi:
HTML kôd:
<script type="text/javascript">
var last_clicked, click_handle;
function clicked(obj) {
if(last_clicked)
return;
last_clicked = obj;
click_handle = setTimeout("handle_click(last_clicked)", 200);
}
function handle_click(obj) {
last_clicked = null;
alert('Single click');
}
function handle_dblclick(obj) {
clearTimeout(click_handle);
last_clicked = null;
alert('Double click');
}
</script>
</head>
<body>
<a href="#" onclick="clicked(this)" ondblclick="handle_dblclick(this)">klik me</a>
ali u Operi 8 ovo iz nekog razloga zeza, prvo se prikaze double click, ali se onda ipak opali i single click. Moguce da je to neko moja glupa greska, nisam bas mnogo vremena ulozio na crossbrowser rad, posto se radilo o intranet aplikaciji. Takodje ovo sam ja pisao poodavno, pre web2.0 buma, tako da bi sad verovatno moglo da se napise lepse i modernije... ali je mene mrzelo
Podesavanjem vremena za timeout prakticno podesavas koliko brzo user mora da uradi double click da bi bio registrovan kao takav, tako da treba podesiti brzinu po zelji, ali ne suvise nisko...
EDIT: BTW, ako tebi single click sluzi samo za selektovanje reda, onda mozes mnogo prostije: naprosto je u double clicku odselektujes i super, nema ovog celog zezanja...