[英]Blur event: do not blur if click occurs within element
我有一個視覺上看起來如下的組件。
主要問題在於:
<div className={styles.colorPicker}>
<input
readOnly
type="text"
value={color}
onFocus={this.showColorPalette}
onBlur={this.hideColorPalette}
/>
<Palette
color={color}
onSelect={this.selectColor}
/>
</div>
預期的行為是,當它們模糊組件時,調色板應該隱藏。 但是 ,如果他們點擊調色板中的某些內容,則不應隱藏調色板。
因為單擊調色板會使輸入模糊,所以它將隱藏調色板。 我找不到一種方法來調整調色板的onClick
方法和輸入的onBlur
方法,使得一個覆蓋另一個。
有沒有辦法做出反應?
剛嘗試使用onMouseEnter
和onMousLeave
來有條件地觸發blur()
。 通過這種方式,顏色調色板將在拾取顏色時可見,並且在拾取顏色時會模糊或在輸入框外部單擊。
檢查更新筆
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.