Помогите с кодом, переменные не возвращаются! Написать с помощью jquery и иметь проблемы с динамическими переменными. Невозможно вернуть var flag_target и mask_target.

var flag_target; var mask_target; $('.iti_click-1').click(function() { $('.firstlist').show(); var flag_target = $('#flag-1'); var mask_target = $('.maskNom-1'); return flag_target, mask_target; }); $('.iti_click-2').click(function() { $('.secondlist').show(); var flag_target = $('#flag-2'); var mask_target = $('.maskNom-2'); return flag_target, mask_target; }); 

Olegfunny

новый участник этого сайта. Будьте внимательны, спрашивая разъяснения, комментируя и отвечая. Проверьте наш

Правила поведения

,

Когда вы передаете возврат в обработчик события, это значение передается в обработчик события, а не туда, куда вы хотите …, это вы не можете сделать это

 var name = $('.eleemnt').click(function() { return true; }); 

Что вы можете сделать, это создать переменную вне области функции обратного вызова, а затем сохранить нужные значения в них, например:

 var name = ''; $('.element').click(function() { name = 'Saved'; }); 

Если вы боитесь загрязнить глобальное пространство (что хорошо иметь), вы можете рассмотреть выражение немедленного вызова функции , например, так

 (function() { var name = ''; $('.element').click(function() { name = 30; console.log(name); }); })(); 

Поэтому, если все, что вам нужно, это иметь возможность использовать глобальные переменные после того, как пользователь нажал на эту вещь, просто присвойте значения глобальным переменным в обработчике кликов:

 var flag_target = null; var mask_target = null; $('.iti_click-1').click(function() { $('.firstlist').show(); flag_target = $('#flag-1'); mask_target = $('.maskNom-1'); }); $('.iti_click-2').click(function() { $('.secondlist').show(); flag_target = $('#flag-2'); mask_target = $('.maskNom-2'); });