fix missed off(), which is not recorded in $.cache