当用户点击输入按钮时,我想在文本框中添加<br/>
(换行符)。
如何在jquery onkeyup
事件中实现它。可以向我展示一个实例或任何实现它的好网站。
谢谢
答案 0 :(得分:7)
从此处复制Caret position in textarea, in characters from the start请参阅 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)都会一直这样做。
答案 1 :(得分:1)
有些事情:
$('#some-field').keyup(function(e){
if (e.keyCode == '13') {
e.preventDefault();
$(this).append("<br />\n");
}
});