问题描述
我有每个人都有一个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上都有事件源循环,因此如何解决此问题
1楼
Jack Bashford
0
2019-02-25 03:11:57
您的问题是您要嵌套事件处理程序。
在第一个事件处理程序之外声明所有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);
};