preventDefault runs only once

Hmm, try using event.preventDefault(); AND event.stopPropogation();?
OR have you tried returning false at the end of the function instead of the e.preventdefault?

This SO might help with regards to why, (if it fixes).