के साथ div तत्वों पर ध्यान केंद्रित करना focus()
विधि का उपयोग कर div (या कोई अन्य तत्व) पर ध्यान केंद्रित करना संभव है?प्रतिक्रिया
मैं एक div तत्व के लिए एक tabindex निर्धारित किया है:
<div ref="dropdown" tabIndex="1"></div>
और मैं देख सकता हूँ यह ध्यान केंद्रित हो जाता है जब मैं उस पर क्लिक करें, फिर भी, मैं गतिशील तत्व जैसे ध्यान केंद्रित करने की कोशिश कर रहा हूँ:
setActive(state) {
ReactDOM.findDOMNode(this.refs.dropdown).focus();
}
या इस तरह:
this.refs.dropdown.focus();
लेकिन घटक फोकस नहीं मिलता है जब घटना त्रि है ggered। मैं यह कैसे कर सकता हूँ? क्या कोई अन्य (इनपुट नहीं) तत्व है जिसके लिए मैं इसका उपयोग कर सकता हूं?
संपादित करें:
ठीक है, यह इस यह वास्तव में संभव है करने के लिए: 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) => {
const colorClasses = classNames('colorpicker-item', [`colorpicker-item-${color}`]);
return (
<div onClick={() => { this.selectItem(color) }} key={index} className="colorpicker-item-container">
<div className={colorClasses}></div>
</div>
);
});
return (
<div className="colorpicker">
<input type="text" className={styles} name={inputName} ref="component" value={this.state.value} onFocus={() => { this.setActive(true) }} />
<div onBlur={() => this.setActive(false) } onFocus={() => console.log('focus')} tabIndex="1" ref="dropdown" className={pickerClasses}>
{colorFields}
</div>
</div>
);
}
}
आप कहाँ रेफरी बताए जाते हैं में काम किया? –
क्षमा करें, अपडेट किया गया है, मैं टैब इंडेक्स –
के साथ एक ही div तत्व को रेफरी कर रहा हूं, मैंने इसे एक पहेली में करने की कोशिश की और यह https://jsfiddle.net/69z2wepo/54201/ काम करता है, लेकिन मेरे कोड में काम नहीं कर रहा है, मैं इसे –