change to use jquery delegate to listen event