У меня есть редактор перьев, он показывает некоторый контент, скопированный из википедии, в режиме только для чтения. Я должен показать кнопку над выделенным текстом следующим образом. usecase
Мой подход.
componentDidMount = () => {
let allEditor = document.getElementsByClassName("editor");
for (let i = 0; i < allEditor.length; i++) {
allEditor[i].addEventListener("mouseup", event => {
event.preventDefault();
this.handleSelection();
});
}
};
handleSelection = () => {
this.setState({
popup: true
});
};
если я удалю setState, выделение останется там, но когда Я вызываю setState, выделение исчезает. После некоторой отладки я обнаружил, что событие mouseup срабатывает после setState. Эта проблема, с которой я столкнулся в chrome, для firefox работает нормально.