In teoria si`, in pratica e` un po` complesso, e rischi di fare una cosa che funziona in un browser solo.

Dovresti usare l'evento onmousedown, che fa partire una routine ricorsiva (ma mettici sempre un setTimeout in mezzo)