我正在寻找一种方法来检测当用户键入“我们”、“我们”、“我们的”和更多代词时以第一人称书写,但不是直接使用 keyup 事件而是间隔为他们在文本区域或文本字段中输入五秒钟。
我已经尝试了 keyup 事件,但我无法检测和解析代词以显示警告 div,显示该字段是否包含这些代词或文本。
最佳答案
在 textarea
上添加一个输入事件监听器并使用 setTimeout()
,添加 5 秒的超时。在调用 setTimeout()
之前,检查是否已经设置了任何超时。如果有,请清除该计时器并添加一个新计时器。
要检查 textarea
中的特定单词,请使用正则表达式。
const textarea = document.querySelector('textarea');
const regex = /\b(?:we|us|our)\b/gi;
let timerID;
textarea.addEventListener('input', (event) => {
if (timerID) {
clearTimeout(timerID);
}
timerID = setTimeout(() => {
if (regex.test(textarea.value)) {
console.log('warning...');
}
}, 5000);
});
<textarea></textarea>
关于javascript - 在 Javascript 中用时间间隔检测第一人称写作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63132824/