运行方法而不将其绑定到事件单击事件SignalR

时间:2014-03-27 14:20:29

标签: jquery signalr-hub

如SignalR官方样本中所述:

 $(function () {
                 var chat = $.connection.chatHub;
                 chat.client.broadcastMessage = function (x) {
                    console.log(x)
                 };

                 $.connection.hub.start().done(function () {
                $('#button1').click(function(){
                chat.server.send(x);
                        });

                 });

             });

它工作得很完美但是,我的问题是如何从外部运行send方法,而不绑定它点击一个,这个代码实际上适合我,但我不认为它是实用的:

              var chat;
               $(function () {
                 chat = $.connection.chatHub;
                 chat.client.broadcastMessage = function (x) {
                    console.log(x)
                 };

                 $.connection.hub.start().done(function () {
                });

             });


              var outsidefunction = function(){
                  chat.server.send(x);
             }



            //////lets say
              $ajax(
                 success:function(){
                     outsidefunction();
                   }
              )

如果你注意到了 我的代码:

$.connection.hub.start().done(function () {
                    });

在里面保持空白,如果我把它放在ready功能之外它不起作用

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用

function outsidefunction(x) {
$.connection.hub.start().done(function () {
    chat.server.send(x);

});
}

然后,您可以随时拨打outsidefunction(x)