如何在js中取消按键?

时间:2018-03-11 18:47:53

标签: javascript

我刚开始学习JavaScript。我有个问题。当有超过160个字符时,我不想输入字符。我该如何解决这个问题?

<body> <textarea onkeypress="olay()" id="twitter" cols="30" rows="10"></textarea> <br>
    <div id="sonuc"></div>

</body>


<script type="text/javascript">
    i = 0;

    function olay() {
        i += 1;
        if (i > 160) {
            document.getElementById("sonuc").innerHTML = "Warning. Over 160 character";
            document.getElementById("twitter").addEventListener("onkeypress", function(event)) {
                event.preventDefault();
            }

        } else {
            document.getElementById("sonuc").innerHTML = "Numver of charecter : " + i;

        }
    }
</script>

4 个答案:

答案 0 :(得分:2)

您不需要JavaScript;文字输入有maxlength attribute

<textarea
    onkeypress="olay()"
    id="twitter"
    cols="30"
    rows="10"
    maxlength="160"></textarea>

答案 1 :(得分:0)

这是用html

<textarea 
id="twitter"
cols="30" 
rows="10" 
maxlength="160" 
placeholder="Enter text here...">
</textarea>

答案 2 :(得分:0)

这是使用JavaScript和HTML的方式。

<body>
    <textarea id="twitter" cols="30" rows="10" maxlength="160" placeholder="Enter text here..."></textarea><br>
    <div id="sonuc"></div>


    <script type="text/javascript">
    function olay() {
        var text = document.getElementById("twitter").innerHTML;
        var i = text.length;
        if (i >= 160) {
            document.getElementById("sonuc").innerHTML = "Warning. Reached 160 character limit.";
        }
        else {
            document.getElementById("sonuc").innerHTML = "Number of charecter : " + i;
        }
    }
    document.addEventListener("keypress", function(){
        olay();
    });
    document.addEventListener("keydown", function(){
        olay();
    });
    </script>
</body>

答案 3 :(得分:-1)

你能做的最好就是写一个正则表达式并每次按下按键检查。