相关疑难解决方法(0)

是否可以使用JavaScript focus()函数专注于<div>?

是否可以专注于<div>使用JavaScript focus()函数?

我有一个<div>标签

<div id="tries">You have 3 tries left</div>
Run Code Online (Sandbox Code Playgroud)

我试图专注于以上<div>使用:

document.getElementById('tries').focus();
Run Code Online (Sandbox Code Playgroud)

但它不起作用.有人可以提出建议....

javascript focus

204
推荐指数
6
解决办法
29万
查看次数

用React聚焦div元素

是否可以使用该focus()方法聚焦div(或任何其他元素)?

我已将tabIndex设置为div元素:

<div ref="dropdown" tabIndex="1"></div>
Run Code Online (Sandbox Code Playgroud)

当我点击它时,我可以看到它变得集中,但是,我正在尝试像这样动态聚焦元素:

setActive(state) {
  ReactDOM.findDOMNode(this.refs.dropdown).focus();
}
Run Code Online (Sandbox Code Playgroud)

或者像这样:

this.refs.dropdown.focus();
Run Code Online (Sandbox Code Playgroud)

但是,当触发事件时,组件不会获得焦点.我怎样才能做到这一点?我可以使用其他(非输入)元素吗?

编辑:

嗯,这似乎有可能做到:https://jsfiddle.net/69z2wepo/54201/

但它不适合我,这是我的完整代码:

class ColorPicker extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      active: false,
      value: ""
    };
  }

  selectItem(color) {
    this.setState({ value: color, active: false });
  }

  setActive(state) {
    this.setState({ active: state });
    this.refs.dropdown.focus();
  }

  render() {
    const { colors, styles, inputName } = this.props;

    const pickerClasses = classNames('colorpicker-dropdown', { 'active': this.state.active });

    const colorFields = colors.map((color, index) => { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

18
推荐指数
2
解决办法
4万
查看次数

标签 统计

javascript ×2

focus ×1

reactjs ×1