buenas,
es relativamente sencillo. necesitas dos eventos: onmousedown y onmouseup; una especie de bucle: setInterval; y la funcion clearInterval. basicamente, en onmousedown invocas setInterval y a este le pasas la funcion que deseas ejecutar repetidas veces. setInterval te devolvera un valor que debes almacenar en una variable. luego, en onmouseup invocas clearInterval pasandole como argumento la variable antes creada.