发布
社区首页 >问答首页 >模糊事件:如果在元素中发生单击,请不要模糊

模糊事件:如果在元素中发生单击,请不要模糊
EN

Stack Overflow用户
提问于 2016-10-04 18:03:11
回答 1查看 2.1K关注 0票数 3

我有一个组件,外观如下。

这里是一种简化的编码娱乐。

主要的问题出现在这里:

代码语言:javascript
代码运行次数:0
复制
<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方法,因为其中一种方法覆盖另一种方法。

有没有办法在反应中做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2016-10-05 05:06:48

只是尝试了使用onMouseEnteronMousLeave来有条件地触发blur()。这样,调色板就可以用于选择颜色,当颜色被选中或单击输入框外时,颜色将变得模糊。

检查更新笔

http://codepen.io/pranesh-r/pen/EgoaGK?editors=0110

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39858934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档