gpt4 book ai didi

javascript - jquery keyCode == 13 必须保留在当前位置(但它会转到文本末尾)

转载 作者:行者123 更新时间:2023-12-03 12:04:19 26 4
gpt4 key购买 nike

这里是示例 http://jsfiddle.net/omuL8doa/3/

如果我按 Enter,jquery 会插入 <br/>在当前地点。这样就可以了。

但是在 Enter 之后,我(光标)转到文本末尾。但我需要将光标保留在“当前”位置(如果我在 Word 或记事本中按 Enter 键,则行为相同。我的意思是,按 Enter 键,转到下面一行并保留在那里。

代码需要修改什么?

这是代码

$('textarea').keydown(function(ev){
if(ev.keyCode == 13){
var caretPos = document.getElementById("main_text").selectionStart;
var textAreaTxt = jQuery("#main_text").val();
var txtToAdd = "<br/>";
jQuery("#main_text").val(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos) );
}
});

最佳答案

DEMO

$('textarea').keydown(function(ev){        
if(ev.keyCode == 13){
ev.preventDefault(); //added
var caretPos = this.selectionStart;
var textAreaTxt = this.value;
var txtToAdd = "\n"; //changed
$(this).val(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos) );
var sePos = caretPos + txtToAdd.length //add
this.setSelectionRange(sePos,sePos); //added
}
});

关于javascript - jquery keyCode == 13 必须保留在当前位置(但它会转到文本末尾),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25250602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com