我有一个列表项,每个列表都有一个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上都有事件源循环,因此如何解决此问题
答案 0 :(得分:0)
您的问题是您正在嵌套事件处理程序。在第一个事件处理程序外部声明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);
};