Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在匿名函数中使用全局变量的Javascript问题_Javascript - Fatal编程技术网

在匿名函数中使用全局变量的Javascript问题

在匿名函数中使用全局变量的Javascript问题,javascript,Javascript,请帮助我,我需要使用ValidActionDezona布尔变量作为全局变量,但我在函数INIARQUERY外部定义了该变量,并尝试在函数和全局中使用该变量,所有操作都很好,将函数INIARQUERY外部指定的值抛出给我 但问题是,当我想在事件中使用函数时,当我尝试使用变量时,未定义的值抛出我。 我已经试过: window.validaciondeZona, 也带有窗口['validaciondeZona', 也使用根['validaciondeZona'] 还有这个,validaciondeZo

请帮助我,我需要使用ValidActionDezona布尔变量作为全局变量,但我在函数INIARQUERY外部定义了该变量,并尝试在函数和全局中使用该变量,所有操作都很好,将函数INIARQUERY外部指定的值抛出给我

但问题是,当我想在事件中使用函数时,当我尝试使用变量时,未定义的值抛出我。 我已经试过:
window.validaciondeZona,
也带有窗口['validaciondeZona',
也使用根['validaciondeZona']
还有这个,validaciondeZona
请帮助,我如何在匿名函数中使用该全局变量并进行修改

$(document).on({ready : iniciarjquery});
var validaciondeZona = true;            
function iniciarjquery(){               
   $('#AgregarDestinoTuristico').on('keyup', '#Zona2', function(e) {
       alert(validaciondeZona); // undifined
   });
}
我试了一下:

$(document).on({ready : iniciarjquery});
var validaciondeZona = true;            
function iniciarjquery(){
    alert(validaciondeZona); // true                
}

而且完全一样。我不知道还能做什么。

这似乎不起作用:

$(document).ready(iniciarjquery);

改为

$(document).on({ready : iniciarjquery});

为什么原件无效。on()通常允许这种语法,所以您是说出于某种原因,它不适用于就绪事件吗?鉴于OP似乎从keyup处理程序获得警报,必须调用ready函数…@nnnnnn-您可能认为传递一个映射应该可以工作,文档确实说,
on('ready',handler)
应该可以工作,但不建议这样做(如果我没记错的话),但在JSFIDLE中,它根本不适合我,但是,通过对
ready()
的常规调用,它工作得很好?
ready
不是一个真正的事件,您不能对它使用通用绑定方法。当然,在JSFIDLE中,
on('ready')
不起作用的原因是因为ready事件已经触发,所以再次调用它已经太迟了,这在,我只需要读一下!这就是为什么你永远不应该在('ready')上使用
我用:$(document.ready)(iniciarjquery);而且完全一样。我不知道还能做些什么。它应该可以毫无问题地工作。你能做一个演示吗?当第一次加载时,如果它工作或全局变量,但当它发生时,称为该变量的keyup事件已经未定义。我能做什么来确保变量不被破坏?您的代码对我来说很有用:(我看到警报显示的变量值为
true
,未定义。)您是否显示了所有的JS?
$(document).ready(iniciarjquery);