Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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 - Fatal编程技术网

Javascript 在文本更正时,触发事件。可能的

Javascript 在文本更正时,触发事件。可能的,javascript,Javascript,假设我有两个textareahtml元素,我在其中一个中键入的内容显示在另一个中 当在下面的屏幕截图上选择正确的单词时,是否会触发javascript事件 无法从活动中获得此信息。您可以编写自己的“逻辑”,通过检查change事件来检测任何单词更改 使用split()和filter()函数检查更改的单词的小示例: 函数输入更改(事件,旧值){ //老话 const old=oldvalue.split(“”); //时话 const curr=event.target.value.split(

假设我有两个
textarea
html元素,我在其中一个中键入的内容显示在另一个中

当在下面的屏幕截图上选择正确的单词时,是否会触发javascript事件


无法从活动中获得此信息。您可以编写自己的“逻辑”,通过检查
change
事件来检测任何单词更改

使用
split()
filter()函数检查更改的单词的小示例:

函数输入更改(事件,旧值){
//老话
const old=oldvalue.split(“”);
//时话
const curr=event.target.value.split(“”);
//换词
const diff=old.filter(x=>!curr.includes(x));
//每换一个字
for(让更改ID在差异中){
//差异
log('wordchanged:',diff[changeId]);
//或者,您可以获得相同的索引,以便知道新值
const ind=old.indexOf(diff[changeId]);
log('New value:',curr[ind]);
} 
}
输入{宽度:300px;}

尝试使用
上下文菜单
更改
事件,如下所示:

let testElement=document.querySelector(“#test”);
让contextmenuOpened=false;
让prevValue=“”;
addEventListener(“上下文菜单”,函数(){
contextmenuOpened=true;
prevValue=此.value;
})
testElement.addEventListener(“更改”,函数(){
if(contextmenuOpened&&prevValue!==this.value){
log(“从上下文菜单进行的更正”)
}
contextmenuOpened=false;
prevValue=“”;
})

你好在右键菜单中选择的正确单词?单击正确的单词,触发事件。您不能真正做到这一点,但您可以做的是收听文本框上的更改事件,如果某个单词已从以前的值更改,您可以像这样检测它…在
上下文菜单上
,您可以保存实际的textarea值并设置一个标志,如
contextmenuOpen=true
。。。如果
contextmenuOpen
为真且上一个值与实际值不同,则在
change
上。。。像这样的东西就行了