我有一个 jquery 函数来切换“ReplyComment”div。
function addcommentdiv() {
$('.in').click(function () {
var $this = $(this),
$reply = $this.next('.ReplyComment');
var cevapladisplay = $reply.css('display');
$reply.toggle();
});
}
addcommentdiv();
$(document).ready(function () {
addcommentdiv();
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
addcommentdiv();
});
...
<ul class="chats">
<li class="in" >
blablabla
</li>
<div class="ReplyComment" id="ReplyComment">
blablabla
</div>
</ul>
这个功能有时起作用有时不起作用。短期内运行不顺畅。 我无法理解。(在 updatepanel 和 datalist 内)
最佳答案
您可能多次添加点击处理程序。为了完全避免这个问题,我建议使用事件委托(delegate):
$(document).ready(function() {
$(document).on('click', '.in', function () {
var $this = $(this),
$reply = $this.next('.ReplyComment');
var cevapladisplay = $reply.css('display');
$reply.toggle();
});
});
这将使您无需在每次 UpdatePanel
刷新后重新绑定(bind)事件。
关于javascript - Jquery调用功能(updatepanel内部)不流畅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880221/