我制作了脚本以相应地将div填充调整为用户的输入文本。但是,代码会在每次按键后将光标集中在contenteditable div的开头,我无法弄清楚为什么会发生这种情况,并想知道如何使光标正常运行。
HTML和CSS
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<html>
box
<div class="comment_box" contenteditable="true"></div>
</html>
<style>
*{
box-sizing: Border-box;
font-family: "Lucida Grande", sans-serif;
font-size:18px;
border-radius:3px;
}
.comment_box{
overflow:hidden;
width:521px;
padding:30px;
text-align: left;
height:80px;
margin-top:5px;
background-color:#ffcc99;
word-wrap: break-word;
}
</style>
的Javascript
<script>
$(".comment_box").keypress(function (e) {
if (e.which !== 0 &&
!e.ctrlKey && !e.metaKey && !e.altKey
) {
var html_org = $(this).html();
var html_calc = '<span>' + html_org + '</span>';
$(this).html(html_calc);
var width = $(this).find('span:first').height();
$(this).html(html_org);
if(width>21){
$(this).css({"padding-top":"21px"});
}
}
});
</script>
我已经尝试添加到我的脚本的末尾,但它没有运气。
$(".comment_box").focus();