首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >响应范围输入IE11、onChange或onInput解决方案

响应范围输入IE11、onChange或onInput解决方案
EN

Stack Overflow用户
提问于 2016-08-19 20:27:38
回答 1查看 2.2K关注 0票数 4

IE11 使用onChange而不是onInput for <input type='range'>元素。

不会调用这两个在IE11中反应。

onInput可以在FF、Chrome和Edge上工作,所以没关系。

沿着兔子洞往下走,导致这里这里,它们建议使用onMouseUponClick,但我也没有做到这一点。

我尝试过各种不同的听众组合,但都没有效果。我甚至尝试过 (当然,这也不起作用)。有人有办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-19 20:59:44

经过一番深入研究,我决定使用反应范围,因为它是轻量级的、简单的、工作的。

render()在其来源中展示了它是如何做到的:

代码语言:javascript
运行
复制
render: function() {
    var props = _extends({}, this.props, {
      defaultValue: this.props.value,
      onClick: this.onRangeClick,
      onKeyDown: this.onRangeKeyDown,
      onMouseMove: this.onRangeChange,
      onChange: function() {},
      ref: this.setRangeRef
    });
    delete props.value;
    return React.createElement(
      'input',
      props
    );
  }

更新

看来这将在React 16:https://github.com/facebook/react/issues/554#issuecomment-271579096中得到修正。

如果你看看上面的历史,你会发现这个问题在5746之前已经结束了。如果您打开此PR,您将看到它的里程碑被设置为16。 所以修复将在16,我们不能把它放在15.x,因为它带来了一个打破行为的变化。 我不知道是否有可能把它移到15.x。@jquense和nhunzaker可能会回答这个问题。

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

https://stackoverflow.com/questions/39047171

复制
相关文章

相似问题

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