Javascript 在OnMouseDown事件中设置React状态导致没有文本选择
我在经典React类中使用了以下代码:Javascript 在OnMouseDown事件中设置React状态导致没有文本选择,javascript,html,reactjs,Javascript,Html,Reactjs,我在经典React类中使用了以下代码: constructor(props) { super(props); this.state = { isMouseHolding: false } this.handleOnMouseDown = this.handleOnMouseDown.bind(this); this.handleOnMouseUp = this.handleOnMouseUp.bind(this); } handleOnMouseDown(eve
constructor(props) {
super(props);
this.state = {
isMouseHolding: false
}
this.handleOnMouseDown = this.handleOnMouseDown.bind(this);
this.handleOnMouseUp = this.handleOnMouseUp.bind(this);
}
handleOnMouseDown(event) {
this.setState({
isMouseHolding: true
});
}
handleOnMouseUp() {
this.setState({
isMouseHolding: false
});
}
<div onMouseDown={this.handleOnMouseDown} onMouseUp={this.handleOnMouseUp}>
...
</div>
构造函数(道具){
超级(道具);
此.state={
isMouseHolding:错误
}
this.handleOnMouseDown=this.handleOnMouseDown.bind(this);
this.handleOnMouseUp=this.handleOnMouseUp.bind(this);
}
handleOnMouseDown(事件){
这是我的国家({
是的
});
}
handleOnMouseUp(){
这是我的国家({
isMouseHolding:错误
});
}
...
状态设置正常,但现在如果我选择文本,它不会高亮显示
我们如何传播事件,使其在状态改变的情况下正常运行
编辑:
我需要的只是保持选择文本(例如,在文本上按住鼠标时的每个网页),还需要更改状态。不太清楚您在问什么。您是否尝试拖放
div
或突出显示内部文本以进行复制/粘贴?在JSX中的某个位置,您必须处理更改的状态,例如…className={this.state.isMouseHolding?“holdingcsslass”:“defaultCssClass”}。。。没有显示。“传播事件…”指的是什么?创建了一个简单的ReactJS应用程序。看起来选择文本没有问题。你知道是什么原因导致选择失败吗?可能您正在选择的文本正在更改?我需要保持选择文本(例如,当您将鼠标放在文本上时,每个网页)的状态,但也要更改状态。