jQuery访问var就绪函数

时间:2013-01-14 18:39:32

标签: jquery

我在准备好的函数中定义了以下内容

    js13(document).ready(function ($) {

            var socket = io.connect('http://xx.xx.xxx.xx:8080');


            socket.on('connect', function(){
                socket.emit('adduser', 'username');
            });


            socket.on('updatechat', function (username, data) {


                data = data.replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\"/g, "&quot;");
                js13("#chatboxcontent").append('<div class="ui-chatbox-msg"><b>' + username + ':</b> ' + data + '</div>');
                js13("#chatboxcontent").scrollTop(js13("#chatboxcontent")[0].scrollHeight);                 

            });


            socket.on('updateusers', function(data) {
                $('#users').empty();
                $.each(data, function(key, value) {
                    $('#users').append('<div>' + key + '</div>');
                });
            });            



});

如何在ready函数之外访问相同的socket var?我想从

之外的函数中访问它

3 个答案:

答案 0 :(得分:2)

在就绪函数之外定义socket变量..

var socket;

js13(document).ready(function ($) {
   socket = io.connect('http://xx.xx.xxx.xx:8080');

注意:在ready函数中删除了var声明。

答案 1 :(得分:1)

只需在ready ()之外创建变量即可。请记住在var内删除ready()声明,然后将创建另一个本地变量。

var socket;
js13(document).ready(function ($) {

            socket = io.connect('http://xx.xx.xxx.xx:8080');
...
}

答案 2 :(得分:1)

var socket;

js13(document).ready(function ($) {

    socket = io.connect('http://xx.xx.xxx.xx:8080');
    //...
});