添加< br/>当用户在jQuery中按Enter键时,转到文本框 [英] adding <br/> to the text-box when user press enter key in jquery

查看:104
本文介绍了添加< br/>当用户在jQuery中按Enter键时,转到文本框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当用户单击回车按钮时,我想在文本框中添加<br/>(换行符).

I want to add the <br/> (newline) to text box when user clicks on the enter button.

如何在jquery onkeyup事件中实现它.可以给我看看这个例子或任何实施它的好网站.

How can I achieve it in jquery onkeyup event. Can one show me the example or any good website implementing it.

谢谢

推荐答案

从此处复制 DEMO .

Copied from here Caret position in textarea, in characters from the start See DEMO.

<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>

好吧,我想所有的文字编辑器(WYSIWYG)都会一直这样做.

Well, i guess all text-editors (WYSIWYG) do it all the time.

这篇关于添加&lt; br/&gt;当用户在jQuery中按Enter键时,转到文本框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆