我有一个问题,按钮点击在动态创建时不会触发,
我知道,here is the solution。
问题是:
我正在使用SignalR。我必须在启动聊天中心时声明click事件(调用某个hub方法)。请看下面的
在这种情况下,按钮单击工作
$(document).on('click', "#chatlist li .gobtn", function (e) {
var id = $(this).closest("li").data("message-id");
});
但我应该从这里打电话
$.connection.hub.start().done(function () {
//button click not fires here but it must be here
$('#chatlist li .gobtn').click(function () {
var id = $(this).closest("li").data("message-id");
chat.server.sendAnswer(id);
})
})
如果您有任何想法可以解决,请提供帮助。
答案 0 :(得分:1)
如果您更改下面的代码,我认为它可行
var chat;
var _sendAnswer;
$(function () {
var chat = $.connection.chatHub;
$.connection.hub.start().done(function () {
_sendAnswer = function sendAnswer(id) {
chat.server.sendAnswer(id);
}
});
$(document).on('click', "#chatlist li .gobtn", function (e) {
var id = $(this).closest("li").data("message-id");
if (_sendAnswer != undefined && typeof _sendAnswer == 'function') {
_sendAnswer(id);
}
});
});
祝你好运