簡體   English   中英

防止窗口在textarea中的退格上滾動

[英]Prevent window scrolling on backspace in textarea

我有一個簡單的textarea超出了瀏覽器窗口的大小,如下所示。 當用戶添加一些文本時,窗口總是滾動到光標的位置。 因此,如果光標跳出窗口,則窗口會滾動到其底部。 因此,如何使它完全不滾動(光標應該離開可見窗口)?

忙碌的貓

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <style>
        textarea{
            margin-top: 500px;
            padding: 0;
            position: absolute;
        }
    </style>
    <script type="text/javascript">
        function keypressed(el,event) {
            if(event.keyCode == 8){
                event.preventDefault();
            } else {
                el.value = el.value + String.fromCharCode(event.keyCode);
            }
            return false;
        }
    </script>
</head>
<body class=noscroll">
    <textarea onkeypress="keypressed(this,event);return false;" rows="5"></textarea>
</body>
</html>

到目前為止,我對文本區域使用了固定定位,因此不會出現滾動。 由於iOS無法以正確的方式顯示固定位置,因此我嘗試使用絕對位置,如上所示。 我添加了一些onkeypressed代碼以防止在任何輸入上滾動,但這有效,但在BACKSPACE上不起作用(鍵代碼== 8)。 光標移出窗口並按下退格鍵后,窗口將再次滾動到光標位置。

有沒有更簡單的方法可以達到目標,或者我錯過了什么?

感謝您的任何提示。

查看JavaScript控制台后-您的代碼中有錯誤。

您想在這里完成什么? onkeydown =“ onkeydown(this,event);”

未捕獲的RangeError:超出最大調用堆棧大小

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM