Отправлять параметр в URL-адресе события каждый клик по элементу списка

У меня есть элементы списка, каждый из которых имеет свой идентификатор, и при нажатии на любой список его идентификатор будет идти к источнику события в параметре 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);
    };
});

но я обнаружил, что цикл источника событий на все элементы списка, так как решить эту проблему

1 ответ

Ваша проблема в том, что вы вкладываете обработчики событий. декларировать 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);
};
Другие вопросы по тегам