Поподробнее
function listenerMouseDown() {
canvas.addEventListener('mousemove', listener, false);
};
function listenerMouseUp() {
canvas.removeEventListener('mousemove', listener, false);
};
function listener() {
//проверяю, если над этой областью было движение, то область перекрашиваю.
}
canvas.addEventListener('mousedown', listenerMouseDown, false);
canvas.addEventListener('mouseup', listenerMouseUp, false);
Имейте в виду, что событий mousemove будет очень много