所以我想把连字符放在textarea的每一个新行上。我怎样才能做到这一点?我基本上希望它看起来像这样:
- One
- Two
...
使用jQuery的东西可能,但我不知道是什么..
答案 0 :(得分:1)
您可以使用jQuery Entey键捕获事件来执行此操作。小提琴下面会帮助你。
http://jsfiddle.net/kiranvarthi/666ausss/
更新小提琴:http://jsfiddle.net/kiranvarthi/666ausss/1/
$('#textbox').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a "enter" key in textbox');
document.getElementById('textbox').value = document.getElementById('textbox').value + "\n-";
}
event.stopPropagation();
});
答案 1 :(得分:1)
试试这个。我认为这更好
$('#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>
答案 2 :(得分:0)
请添加此脚本。它会起作用。
<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>