您好我正在使用像这样的ajax调用绑定我的聊天好友列表
$.ajax({
type: "POST",
url: "/getdata.asmx/GetUserInfo",
data: "{'Id':'" + gorge + "' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); },
success: function (xml) {
//alert('success');
$('#frndcontact li').remove();
// $("#frndcontact").innerhtml("");
// DivMainContainer
var obj = jQuery.parseJSON(xml.d);
// alert(data);
if (obj.length > 0) {
for (var i = 0; i < obj.length; i++) {
// var name = obj[i].name;
var objname = "'" + obj[i].name + "'";
//alert(name);
var H = '<li style="font-size:11px;font-family:\'lucida grande\',tahoma,verdana,arial,sans-serif;">' +
'<img alt="" height="18px" width="18px" id="test-' + obj[i].friendid + '" src="Images/offline.png" />' +
'<a class="UserItem" id="test-' + obj[i].friendid + '" >' + obj[i].name + '</a>' +
'</li>'
$("#frndcontact").append(H);
}
}
}
});
然后在下面是我的Signal R Code
$.connection.hub.qs = "Id=" + gorge;
var chat = $.connection.chat3Hub;
chat.client.foo = function () { };
$.connection.hub.start(function () {
// chat.server.OnConnected();
// chat.server.getAllOnlineStatus();
});
chat.client.disconnect = function (connectionId, userList) {
$(userList).each(function (index, obj) {
$("#test-" + obj).attr('src', 'images/offline.png');
$("#test-" + obj).next('.UserItem').removeClass('online');
});
};
chat.client.disconnectuservialogout = function (connectionId, userList) {
$(userList).each(function (index, obj) {
$("#test-" + obj).attr('src', 'images/offline.png');
$("#test-" + obj).next('.UserItem').removeClass('online');
});
};
chat.client.joined = function (connectionId, userList) {
$(userList).each(function (index, obj) {
$("#test-" + obj).attr('src', 'images/online.png');
$("#test-" + obj).next('.UserItem').addClass('online');
});
};
$('.logout').click(function () {
chat.server.disconectonlogout();
});
**//THIS CODE IS NOT WORKING DONT KNOW WHY**
**$('.UserItem').click(function () {
var chatWindow = $("#divChatWindow").clone(true);
$("#chatContainer").append(chatWindow);
});**
// $.connection.hub.server.connected = function () { }
});
但是当我执行下面的代码时,我将绑定事件绑定到具有类Useritem的锚标签。但是当我在firefox调试器的javascript中放置断点时它不会来。所以该怎么办,因为我无法绑定click事件锚标签..请帮帮我
答案 0 :(得分:1)
它不起作用,因为$('.UserItem').click()
声明仅适用于正在执行时存在的项目。阅读http://api.jquery.com/on/以了解如何在将来向所有元素添加事件处理程序。
$(document).on("click", ".UserItem", function () {
var chatWindow = $("#divChatWindow").clone(true);
$("#chatContainer").append(chatWindow);
});
上述内容应该让你朝着正确的方向前进。