我正在做一个项目,我有一个 div,其中有多个 div,每个 div 都有唯一的 ID(来自 DB),每个 div 都包含一个用于添加评论的文本框,如下所示
<div id="maindiv">
<div id="@item.resid">
<p>Content1</p>
<input type="text" class="txtarea" resourceid="@item.resid"/>
</div>
<div id="@item.resid">
<p>Content2</p>
<input type="text" class="txtarea" resourceid="@item.resid"/>
</div>
<div id="@item.resid">
<p>Content3</p>
<input type="text" class="txtarea" resourceid="@item.resid"/>
</div>
<div id="@item.resid">
<p>Content4</p>
<input type="text" class="txtarea" resourceid="@item.resid"/>
</div>
. . . .
我正在通过文本框的按键事件添加评论,我遇到的问题是,当我在不利的内容上添加评论时,然后在添加焦点后出现在顶部。我曾尝试专注于文本框,甚至是 div,但没有奏效:( 下面是我添加评论的代码
$(".txtarea").keypress(function (e) {
if (e.keyCode == 13) {
if ($(this).val().trim() != "") {
var commentText = $(this).val();
var resourceid = $(this).attr('resourceid');
var divId = "." + resourceid;
$.ajax({
url: ResourceAjaxUrl.AddNewCommentOnResources,
type: "POST",
data: JSON.stringify({ resourceID: resourceid, commentText: commentText }),
dataType: "html",
contentType: "application/json; charset-utf-8",
success: function (Result) {
$('#maindiv').html(Result);
$('#maindiv div#' + divId.split('.')[1]).focus();
$('#maindiv div#' + divId.split('.')[1]).find(".txtarea").focus();
},
error: function (msg) {
alert("Unable to save comment in");
}
});
}
else {
$(this).val('');
$(this).focus();
}
}
});
我在开发人员工具上看到了 focus() 行,它工作正常但仍然没有集中注意力,我希望如果我在不利(或最后)评论上添加评论,焦点将停留在上面而不是放在顶部