Javascript 按enter键时将连字符添加到文本区域

Javascript 按enter键时将连字符添加到文本区域,javascript,jquery,html,forms,textarea,Javascript,Jquery,Html,Forms,Textarea,所以我想在文本区的每一行都加上连字符。我怎样才能做到这一点?我基本上希望它看起来像这样: - One - Two ... 也许有jQuery的功能,但我不知道是什么..您可以使用jQuery Entey密钥捕获事件来实现这一点。下面的小提琴会帮助你 更新小提琴: 请添加此脚本。它只会起作用 <script> document.getElementById('myTextarea').onkeyup = function(e) { if (e.keyCode == 13){

所以我想在文本区的每一行都加上连字符。我怎样才能做到这一点?我基本上希望它看起来像这样:

 - One
 - Two
 ...

也许有jQuery的功能,但我不知道是什么..

您可以使用jQuery Entey密钥捕获事件来实现这一点。下面的小提琴会帮助你

更新小提琴:


请添加此脚本。它只会起作用

<script>
document.getElementById('myTextarea').onkeyup = function(e) {

if (e.keyCode == 13){
  var x = document.getElementById("myTextarea").value;
  document.getElementById("myTextarea").value = x+'-';
    return false;
 }
}
</script>

document.getElementById('myTextarea')。onkeyup=function(e){
如果(e.keyCode==13){
var x=document.getElementById(“myTextarea”).value;
document.getElementById(“myTextarea”).value=x+'-';
返回false;
}
}

试试这个。我觉得这样更好

$('#文本框')。按键(函数(事件){
var keycode=(event.keycode?event.keycode:event.which);
如果(键代码=='13'){
//警报(“您在文本框中按下了“回车”键”);
var cursorPos=$('#textbox').prop('selectionStart');
var v=$('#textbox').val();
var textBefore=v.substring(0,cursorPos);
var textAfter=v.子字符串(游标,v.长度);
$('#textbox').val(textBefore+“\n-”+textAfter);
setCaretPosition(document.getElementById('textbox'),(cursorPos+2));
返回false;
}
event.stopPropagation();
});
功能设置CaretPosition(ctrl,pos){
如果(ctrl.setSelectionRange)
{
ctrl.focus();
控制设置选择范围(位置,位置);
}
else if(ctrl.createTextRange){
var range=ctrl.createTextRange();
范围。塌陷(真);
range.moveEnd('字符',位置);
range.moveStart('character',pos);
range.select();
}
}


您只想在每个文本区域中添加一个-吗?不。我有一个文本区域,我想在该文本区域的每一行中添加一个-。所以,若用户按enter键,它将转到新行,该行应该有-。谢谢。这几乎是完美的。但是现在当我按enter键时,它跳了两行。第一行有“-”,第二行光标跳转处为空。如何使光标与“-”保持在同一行?谢谢!很好用!:)最后我用了这个。非常适合我,因为我可以在现有行之间添加新行。非常感谢。
<script>
document.getElementById('myTextarea').onkeyup = function(e) {

if (e.keyCode == 13){
  var x = document.getElementById("myTextarea").value;
  document.getElementById("myTextarea").value = x+'-';
    return false;
 }
}
</script>