I couldn't find any precise way to do this for paths generally.
The solution I have come to works satisfactorily for my exact scenario, which is for simple bezier curves between a start and end point.
It involves testing for the closest straight line to the point where the mouse click was in the canvas.
There is a working implementation of the calculations required for this here.