Dimintichi un "return false".
Se, difatti la funzione è associata ad un evento, questi deve ritornare false per interrompere l'azione associatagli.