javascript - 如何设置onkeypress或onkeydown仅点击一次?

标签 javascript onkeypress

我正在尝试使用 onkeypress 或 onkeydown 单击一次,然后单击 onkeypress 将删除,但我无法做到这一点,并且尝试过但无法正常工作。

下面是我的代码片段。

textarea.onkeypress = myPress;

    function myPress(){
        let setTime = setInterval(timeUpdate, 1000);
        function timeUpdate(){
            time.innerHTML =Number(time.innerHTML)+1;
        }
    }
<div id="time">0</div>
    <textarea  name="" id="textarea" cols="30" rows="10"></textarea>

根据我的代码片段,当我输入时,onkeypress 看起来像是多次单击,而 setInterval 的行为就像不是每 1 秒计时一次, 所以当我在文本区域内输入内容时,我需要每隔一秒输入一次。 谢谢。

最佳答案

设置时间间隔后,您需要删除该事件。

textarea.onkeypress = myPress;

    function myPress(){
        let setTime = setInterval(timeUpdate, 1000);
        textarea.onkeypress = null;
        function timeUpdate(){
            time.innerHTML =Number(time.innerHTML)+1;
        }
    }
<div id="time">0</div>
    <textarea  name="" id="textarea" cols="30" rows="10"></textarea>

关于javascript - 如何设置onkeypress或onkeydown仅点击一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60039221/

相关文章:

javascript - PIXI.js 的 Closure Compiler EXTERNS - 自定义对象参数注释

infragistics - 如何使按下 Enter 键导致焦点像 Excel 的默认行为一样移动到下面的单元格?

javascript - jQuery 按键左/右导航

用户键入数字时的 Javascript 计算器

javascript - 如何在 grunt 中包含 javascript 库

javascript - 如何修复 csv 到 json 转换器模块?

javascript - 使用 JavaScript 对密码进行非对称加密是否可行?

javascript - 自定义验证器在 Angular 2 中重置 react 形式时抛出错误

javascript - Firefox 和 IE8 中的 onKeyPress 事件

javascript - 通过在没有 jQuery 全局事件的文本框中输入来调用 JavaScript 函数