Aren't you attaching the event listener multiple times?