javascript - Jquery调用功能(updatepanel内部)不流畅

标签 javascript jquery asp.net ajax updatepanel

我有一个 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/

相关文章:

javascript - 如何从静态源生成 crypto.createCipheriv 参数

javascript - 简单的 Angular 分量不显示任何内容

javascript - 现有 javascript 代码是否有等效的 jquery 代码?

javascript - 如何从 Javascript 数组中提取图像并将它们放入 HTML 中?

javascript - 正则表达式要求的格式

php - Cronjob 但适用于 jQuery/Javascript

javascript - 使用 jquery 取消选中复选框?

asp.net - ASP .NET 中表单的输入元素名称

javascript - 在特殊情况下禁用来自 javascript 的 ddl 更改事件

c# - ASP.NET 5 中的 Web API 身份验证