我有列表项,每个人都有一个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);
};