有关代码的帮助,变量不会返回!用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;
});
答案 0 :(得分:1)
当您在事件处理程序中传递返回值时,此值将传递给事件处理程序,而不是传递给您想要的任何位置……,您将无法执行此操作
var name = $('.eleemnt').click(function() {
return true;
});
您可以做的是在回调函数范围之外创建一个变量,然后将所需的值保存到其中,如下所示:
var name = '';
$('.element').click(function() {
name = 'Saved';
});
如果您担心污染全局空间(这是一件好事),可以考虑使用Immediately Invoked Function Expression,就像这样
(function() {
var name = '';
$('.element').click(function() {
name = 30;
console.log(name);
});
})();
答案 1 :(得分:1)
因此,如果您需要的是在用户单击事物后能够使用全局变量,只需在单击处理程序内将值分配给全局变量即可:
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');
});