我有一个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中)
答案 0 :(得分:2)
您可能多次添加点击处理程序。为了完全避免这个问题,我建议使用事件委派:
$(document).ready(function() {
$(document).on('click', '.in', function () {
var $this = $(this),
$reply = $this.next('.ReplyComment');
var cevapladisplay = $reply.css('display');
$reply.toggle();
});
});
这将阻止您在每次UpdatePanel
刷新后重新绑定事件。