|
|
|
| Имеется такой код:
var PM = {
tabs: [],
Init : function(){
var socket = new io.connect('http://site.com:8080');
if (supportChat){
// Show
}
}, // Next Any Functions
}
$(document).ready(function() {
var supportChat = $("#ChatWindow");
});
|
Далее в html имеется ссылка с событием onclick ="PM.Init"
Проблема в том, что при обращении к объекту PM.Init внутри не доступна переменная supportChat, если ее объявить внутри PM, то везде внутри приходиться обращаться как: PM.supportChat, и при это внешне эта переменная становится недоступной | |
|
|
|
|
|
|
|
для: OLi
(07.02.2014 в 02:42)
| | нужно убрать var, чтобы переменная была глобальной.
$(document).ready(function() {
supportChat = $("#ChatWindow");
});
|
| |
|
|
|
|
|
|
|
для: Sfinks
(07.02.2014 в 08:09)
| | Спасибо. А в чем тогда ошибка в таком коде:
$(document).ready(function() {
activeUserID = '';
supportChat = $("#ChatWindow"),
messagesWr = supportChat.find("#ListDialog .list"),
chatInput = supportChat.find("#chatInput"),
status = supportChat.find("#status");
init();
function init() {
var socket = PM.Init();
chatInput.focus();
chatInput.keydown(function(e) {
if (e.keyCode === 13) { // Enter
if (chatInput.val() && activeUserID) {
socket.emit("private", { msg: chatInput.val(), to: activeUserID });
chatInput.val('');
}
}
});
}
socket.on('connect', function() {
status.html("Connected.");
socket.emit('setuser', wm.id);
//PM.total.html(data.users.length);
});
});
|
Ругается на строку: status.html("Connected.");
Uncaught TypeError: Object [object Object] has no method 'html'
|
| |
|
|
|
|
|
|
|
для: OLi
(08.02.2014 в 01:44)
| | а чему вообще у вас по итогу равен status?
$("#ChatWindow").find("#status") так ? | |
|
|
|
|
|
|
|
для: moonfox
(08.02.2014 в 03:34)
| |
console.log( [ status, typeof status ] );
| дает:
["[object Object]", "string"]
А вот так работает:
$("#ChatWindow").find("#status").html('tst');
|
| |
|
|
|
|
|
|
|
для: OLi
(08.02.2014 в 13:38)
| | переменные через var не пробовали объявлять? | |
|
|
|