fix js bugs: need to off b4 on, otherwise event will be binded multiple times during page:change and back