mei 2012
M D W D V Z Z
« feb   jun »
 123456
78910111213
14151617181920
21222324252627
28293031  

Taal

Categorieën

Meta


« | Main | »

Javascript snack: click en doubleclick op hetzelfde element

By Bart | mei 10, 2012

HTML definieert de onClick en onDblClick events op alle elementen, en daarmee kun je leuke dingen doen. Maar, als je beide events definieert voor verschillende acties, gaat er wat mis. Bij een dubbelklik zal ook de onClick event tweemaal binnenkomen. En dat wil je niet. Dus, hier een kort stukje JavaScript om dat op te lossen:

// gebruik deze functies om zowel onclick als ondblclick 
// in te schakelen op een element:
// gebruik: onclick="singleClick(someFunction)" 
//          ondblclick="doubleClick(otherFunction)"

singleClickTimeout = null;
function singleClick(fcn) {
    if (singleClickTimeout == null) {
        singleClickTimeout = setTimeout(function() {
            singleClickTimeout = null;
            fcn();
        }, 500);
    }
}
function doubleClick(fcn) {
    if (singleClickTimeout != null) {
        clearTimeout(singleClickTimeout);
        singleClickTimeout = null;
    }
    fcn();
}

	

			

Trefwoorden: Geekstuff, Snack | Geen reacties »