创建一个
当你按 Enter 键时

发布于 2024-12-18 15:05:48 字数 272 浏览 0 评论 0原文

我制作了一个文本区域表单,您可以在其中更改您的描述,就像我在上一个问题中询问是否有任何方法可以禁止标签。但是现在有什么方法可以让您按 Enter 时在文本区域中设置
以便用户不必输入
每次他们想要换行?

我想到了如果它能找到什么都没有的地方,但这行得通吗?我不熟悉 onpress 事件...或者如果它在用户按下提交后检查输入,然后检查换行符。

我在 YouTube、这个网站和很多其他网站上也看到过这个。

I have made a textarea form where you can change your description and like in my previus question I asked if there was any way of having banned tags. But now is there any way of when you press Enter that a <br /> will be set in the textarea so that the user doesn't have to type in <br /> every time they want a line break?

I thought of something like if it can find places where there's nothing, but would this work? I'm not familiar with onpress events... Or if it checks the input after the user has pressed submit and then it checks for line breaks.

I have seen this on YouTube , this site and a lot of other sites too.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情域 2024-12-25 15:05:48

在PHP中,可以使用nl2br()函数来替换任何带有
标签的换行符。

In PHP, you can use the nl2br() function to replace any newlines with <br /> tags.

长亭外,古道边 2024-12-25 15:05:48
<script src="jquery.js"></script>
<script>
    $(function ()
    {
        $('#txt').keyup(function (e){
            if(e.keyCode == 13){
                var curr = getCaret(this);
                var val = $(this).val();
                var end = val.length;

                $(this).val( val.substr(0, curr) + '<br>' + val.substr(curr, end));
            }

        })
    });

    function getCaret(el) { 
        if (el.selectionStart) { 
            return el.selectionStart; 
        }
        else if (document.selection) { 
            el.focus(); 

            var r = document.selection.createRange(); 
            if (r == null) { 
                return 0; 
            } 

            var re = el.createTextRange(), 
            rc = re.duplicate(); 
            re.moveToBookmark(r.getBookmark()); 
            rc.setEndPoint('EndToStart', re); 

            return rc.text.length; 
        }  
        return 0; 
    }

</script>
<div id="content">
    <textarea id="txt" cols="50" rows="10"></textarea>
</div>
<script src="jquery.js"></script>
<script>
    $(function ()
    {
        $('#txt').keyup(function (e){
            if(e.keyCode == 13){
                var curr = getCaret(this);
                var val = $(this).val();
                var end = val.length;

                $(this).val( val.substr(0, curr) + '<br>' + val.substr(curr, end));
            }

        })
    });

    function getCaret(el) { 
        if (el.selectionStart) { 
            return el.selectionStart; 
        }
        else if (document.selection) { 
            el.focus(); 

            var r = document.selection.createRange(); 
            if (r == null) { 
                return 0; 
            } 

            var re = el.createTextRange(), 
            rc = re.duplicate(); 
            re.moveToBookmark(r.getBookmark()); 
            rc.setEndPoint('EndToStart', re); 

            return rc.text.length; 
        }  
        return 0; 
    }

</script>
<div id="content">
    <textarea id="txt" cols="50" rows="10"></textarea>
</div>
指尖凝香 2024-12-25 15:05:48

您可以这样做:

function createBr(e) {


   if (e.keyCode == 13) {
      document.createElement("BR");
       //do what you want with it
   }
}

希望有帮助

You can do this as :

function createBr(e) {


   if (e.keyCode == 13) {
      document.createElement("BR");
       //do what you want with it
   }
}

Hope it helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文