Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 停止所有事件的传播_Javascript_Reactjs_Events - Fatal编程技术网

Javascript 停止所有事件的传播

Javascript 停止所有事件的传播,javascript,reactjs,events,Javascript,Reactjs,Events,我试图处理用户的退格键按下。我有两个处理程序绑定到一个输入元素。由于无法在onChange事件处理程序中检测按键,因此我必须在onKeyDown中进行检测。我想在按下backspace(并在onKeyDown事件处理程序中处理)时停止onChange事件的传播。有什么办法可以做到这一点吗?谢谢大家! 因为我认为这样做是可能的。您可以创建一些辅助变量/属性,并在onKeyDown处理程序中为其设置keyCode。然后,您可以在任何需要的地方有条件地使用它(对我来说,在onChange事件处理程序中

我试图处理用户的退格键按下。我有两个处理程序绑定到一个输入元素。由于无法在onChange事件处理程序中检测按键,因此我必须在onKeyDown中进行检测。我想在按下backspace(并在onKeyDown事件处理程序中处理)时停止onChange事件的传播。有什么办法可以做到这一点吗?谢谢大家!

因为我认为这样做是可能的。您可以创建一些辅助变量/属性,并在onKeyDown处理程序中为其设置keyCode。然后,您可以在任何需要的地方有条件地使用它(对我来说,在onChange事件处理程序中)。

因为我认为可以用这种方式来完成。您可以创建一些辅助变量/属性,并在onKeyDown处理程序中为其设置keyCode。然后,您可以在任何需要的地方有条件地使用它(对我来说,在onChange事件处理程序中)。

如果您有选择选项:当您单击Select标记时,onChange和onClick事件被触发。我通过创建onClick处理程序端的onChange句柄,然后调用e.stopPropogation()解决了这个问题。
案例
St(活动){
event.stopPropagation();
console.log('Next');
}
总干事(活动){
event.stopPropagation();
console.log('Nex here');
}
如果您有选择选项:当您单击Select标记时,将触发onChange和onClick事件。我通过创建onClick处理程序端的onChange句柄,然后调用e.stopPropogation()解决了这个问题。
案例
St(活动){
event.stopPropagation();
console.log('Next');
}
总干事(活动){
event.stopPropagation();
console.log('Nex here');
}

如果您试图防止退格,可以将输入值存储在状态中,并将其作为道具传递给输入,在输入更改后,将e.target.value与存储在状态中的值进行比较,并更新状态变量

     
  const [value, setValue] = useState("");

  const checkValue = (newValue) => {
    if (value.length < newValue.length) setValue(newValue);
  }; 
    
  <input value={value} onChange={(e) => checkValue(e.target.value)} />


const[value,setValue]=useState(“”);
常量检查值=(新值)=>{
if(value.length

如果您试图防止退格,可以将输入值存储在状态中,并将其作为道具传递给输入,在输入更改后,将e.target.value与存储在状态中的值进行比较,并更新状态变量

     
  const [value, setValue] = useState("");

  const checkValue = (newValue) => {
    if (value.length < newValue.length) setValue(newValue);
  }; 
    
  <input value={value} onChange={(e) => checkValue(e.target.value)} />


const[value,setValue]=useState(“”);
常量检查值=(新值)=>{
if(value.length

event.preventDefault()
event.stopPropagation()
?这不会停止onChange事件。啊,现在我明白了。不,你不能那样做。你能添加一个混凝土吗?有可能以完全不同的方式实现吗?比如使用状态。但我不相信,因为状态设置是异步的。
event.preventDefault()
event.stopPropagation()
?这并不会停止onChange事件。啊,现在我明白了。不,你不能那样做。你能添加一个混凝土吗?有可能以完全不同的方式实现吗?比如使用状态。但我不相信,因为状态设置是异步的。。