javascript - 按下 Enter 时将连字符添加到文本区域

标签 javascript jquery html forms textarea

所以我想在文本区域的每一行中添加连字符。我怎样才能实现这个目标?我基本上希望它看起来像这样:

 - One
 - Two
 ...

也许有 jQuery 的东西,但我不知道是什么..

最佳答案

试试这个。我认为这样更好

$('#textbox').keypress(function(event){
 
	var keycode = (event.keyCode ? event.keyCode : event.which);
	if(keycode == '13'){
		//alert('You pressed a "enter" key in textbox');	
      
        var cursorPos = $('#textbox').prop('selectionStart');
            var v = $('#textbox').val();
            var textBefore = v.substring(0,  cursorPos );
            var textAfter  = v.substring( cursorPos, v.length );
            $('#textbox').val( textBefore+ "\n-" +textAfter );
        
        
        setCaretPosition(document.getElementById('textbox'),( cursorPos + 2));
        
        return false;
        
	}
	event.stopPropagation();
});

 function setCaretPosition(ctrl, pos){
	if(ctrl.setSelectionRange)
	{
		ctrl.focus();
		ctrl.setSelectionRange(pos,pos);
	}
	else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<textarea id="textbox"></textarea>

关于javascript - 按下 Enter 时将连字符添加到文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26860760/

相关文章:

jquery - Materialise 自动完成不起作用

html - 占位符在 Chrome 中看起来很奇怪,如何解决

javascript - 当点击另一个文本框外部时,jQuery MLKeyboard 不会消失

javascript - 对象数组优化

javascript - 编辑 HTML 表格行数据

javascript - 难以捉摸的文本练习(jquery/Javascript)

javascript - 这些事件处理程序中的哪一个应该在窗口关闭时触发自定义函数?

javascript - Angular Chain 许多请求

css - 滚动时 IE 7 背景图像位置问题

javascript - JQuery 部分触发