我试图使用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中输入内容时,我需要每隔一秒钟输入一次。
谢谢。

最佳答案

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



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/

10-12 15:40