MouseEvent CLICK and DOUBLE_CLICK on same object

Do you folks have any suggestions on how to listen on a SINGLE CLICK as well as DOUBLE CLICK for an object?

Meaning, one behaviour if the object is single clicked and another behaviour if it is double clicked.

Simply adding two event listeners (CLICK and DOUBLE_CLICK) leads to CLICK handler getting called always.

I understand one could start a timer upon the CLICK and if another CLICK doesn’t arrive within ‘x’ milliseconds generate a SINGLE_CLICK event, else generate a DOUBLE_CLICK event. It seems like a hack and dependant on CPU load.

Is there a standard better way of doing this?

Thanks in advance,