fix: accurate image index change event