add preventDefault and stopPropagation