0

「ReplyComment」divを切り替えるjquery関数があります。

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 内)

4

1 に答える 1

2

クリック ハンドラーを複数回追加している可能性があります。この問題を完全に回避するには、イベント委任を使用することをお勧めします。

$(document).ready(function() {
    $(document).on('click', '.in', function () {
        var $this = $(this),
            $reply = $this.next('.ReplyComment');
        var cevapladisplay = $reply.css('display');
        $reply.toggle();

    });
});

UpdatePanelこれにより、更新のたびにイベントを再バインドする必要がなくなります。

于 2013-09-18T19:10:06.763 に答える