fix double change event bug