Я попробовал решение, представленное в нескольких других темах здесь, но по какой-то причине, он не работает для меняJavascript локальные переменные в глобальные переменные
$(function() {
$('.talk').live('click', 'button', function()
{
var user1 = $(this).val();
var user2=$(this).prev().val();
window.user=user1;
window.recipient=user2;
})
})
(...)
console.log(window.user);
var refresh = setInterval(function(){ myTimer() }, 1000);
function myTimer() {loadchat(window.user,window.recipient);
}
function myStopFunction() {clearInterval(refresh);}
Мне нужна функция loadchat для получения параметров user1 и user2, но они ограничены первой функцией i, вставленной здесь. Я читал, что если я использую window.user1 = он будет работать, но он не будет.
так, как это прямо сейчас, console.log (window.user) возвращает «неопределенный» (я также попытался просто «пользователь» вместо window.user)
* «console.log (window.user) вернет« undefined »« * Я уверен, что 'console.log (window.user)' будет выполняться ** до того, как будет нажата кнопка '.talk'. 'window.user = user1;' будет выполнен * некоторое время в будущем *. 'console.log (window.user)' выполняется при загрузке страницы. –
Обратите внимание, что 'function() {myTimer()}' может быть просто 'myTimer'. – RobG
Вы можете определить свою переменную вне функции или определить ее на объекте окна – aeid