当前位置: 代码迷 >> JavaScript >> 每次在列表项上单击时在事件来源网址中发送参数
  详细解决方案

每次在列表项上单击时在事件来源网址中发送参数

热度:18   发布时间:2023-06-05 10:31:21.0

我有每个人都有一个ID的列表项,当单击任何列表时,其ID将转到url参数中的事件源

我的代码:-

$(document).on('click','.navbar-menu .online ul li',function(e){
    var id = $(this).attr('id');
    var allmessages = ''; 
    allmessages = new EventSource("/ajaxpages/insertmessage.php?id="+$(this).attr('id')+"");

    allmessages.onmessage = function(event) {
        var data = JSON.parse(event.data);
        $(".message .message-content").html(data);
    };
});

但我发现所有列表项的ID上都有事件源循环,因此如何解决此问题

您的问题是您要嵌套事件处理程序。 在第一个事件处理程序之外声明所有allmessages ,然后在内部重新定义它:

var allmessages = "";

$(document).on('click','.navbar-menu .online ul li',function(e){
    var id = $(this).attr('id');
    allmessages = new EventSource("/ajaxpages/insertmessage.php?id="+$(this).attr('id')+"");
});

allmessages.onmessage = function(event) {
    var data = JSON.parse(event.data);
    $(".message .message-content").html(data);
};
  相关解决方案