2014-03-27 36 views
1

由於官方SignalR樣品中指出:Run方法不綁定到事件Click事件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功能外它不

感謝

工作
+0

面對同樣的問題 – Rossco

回答

1

您可以像使用

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

}); 
} 

然後就可以調用outsidefunction(x)只要你想

+0

所以你認爲它是實際的 – INgeek

+0

我只試過這種方式,不知道很多abo那個.. –

+0

對不起,我沒有刷新頁面,我認爲它工作,但實際上並沒有。必須unancewer得到其他feedbacks.it只適用於一個客戶端樞紐,當我觸發它形成其他客戶端它不triggger – INgeek