Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Сделать переменную видимой вне addEventListener (https://javascript.ru/forum/events/59046-sdelat-peremennuyu-vidimojj-vne-addeventlistener.html)

romeonil 23.10.2015 23:15

Сделать переменную видимой вне addEventListener
 
Добрый день!
Как переменую созданную в addEventListener сделать видимой во внешних функциях, например
var Sam = window.addEventListener('load', function Look() 
 {
  var Сhecker = document.getElementById('toolbar').style.display /*нужно сделать видимой вне addEventListener */
   
  return Сhecker;
 
 });

console.log (Sam);/*так не видит*/
console.log (Look());/*и так тоже не видит*/


Песочница с примером https://jsfiddle.net/romeonil/a3jjoqf4/1/
Заранее благодарю за ответ

Decode 24.10.2015 00:13

window.onload = function() {
      var checker = getComputedStyle( document.getElementById('toolbar') ).display;

      document.getElementById('result1').innerHTML = checker;
};

romeonil 24.10.2015 00:39

Decode, спасибо за ответ. Но, у вас переменная checker находится внутри window.onload, а требуется сделать ее видимой в функциях которые находятся во вне области ивента. Тоесть
var Sam = window.addEventListener('load', function Look()
 {
  var Сhecker = document.getElementById('toolbar').style.display /*нужно сделать видимой вне addEventListener */
    
  return Сhecker;
  
 });

function Any ()
{
/*здесь должен использываться результат функции Look(), тоесть переменая Сhecker*/
}

Decode 24.10.2015 00:44

romeonil, в чем проблема сделать переменную глобальную?

romeonil 24.10.2015 00:52

Глобальной сделать не проблема. Но, у меня сейчас стоит задача дописать кусок к уже готовой библиотеки для сайта с довольно большим объемом JS файлов и большим количество глобальных переменных. Опасаюсь как бы имя новой глобалки потом не совпало с уже имеющейся.


Часовой пояс GMT +3, время: 02:32.