我正在使用jQuery切换方法来显示或隐藏带有文本框的div。 html在ASP转发器内部。我是一名用户体验开发者,所以.net不是我所知道的。当click事件被触发时,该区域连续展开3次然后关闭,预期的行为是打开一次并保持这种状态,直到下次调用该事件时,该事件应该关闭它。 JavaScript中没有循环或每个方法。调用click事件时,转发器是否会导致JavaScript多次触发?你有没有避免它?
<div class="optionDivClick">
<asp:Label ID="EvaluatorAssessmentQuestionLabel" runat="server" ></asp:Label>
<h3 class="commentExpand">
<i class="icon-plus-sign" id="optionEvaCommentImg" runat="server"
visible="<%# (((Library.UserCategory)Container.DataItem).EvaluatorAssessmentComment).Answer.Visible %>"></i></h3>
<div class="expand">
<eDevCustom:TextBoxWithSpellCheck runat="server" ID="EvaluatorCommenteDevTextBox" ShowBorder="true"
Visible="<%# (((Library.UserCategory)Container.DataItem).EvaluatorAssessmentComment).Answer.Visible %>"
ReadOnly="<%# (((Library.UserCategory)Container.DataItem).EvaluatorAssessmentComment).Answer.ReadOnly %>"
Text="<%# (((Library.UserCategory)Container.DataItem).EvaluatorAssessmentComment).Answer.AnswerText %>" />
<input type="hidden" runat="server" id="UserCatID" value='<%# DataBinder.Eval(Container.DataItem, "UserCatID") %>' />
<input type="hidden" runat="server" id="UserDescription" value='<%# DataBinder.Eval(Container.DataItem, "UserDescription") %>' />
</div>
</div>
$('.commentExpand').on('click', function () {
$('i', this).toggleClass('icon-plus-sign icon-minus-sign');
var target = $(this).parent().children('.expand');
$(target).slideToggle();
});