我正在尝试定义一个全局 jquery 对象变量,以便我可以从不同的函数访问它。
这就是我正在做的事情:
var object_list = $("#object_list");
var list_length = object_list.find("li").length;
$(document).on('keydown', '#object_list', function(event) {
//both of these don't work
alert(object_list);
alert(list_length);
});
好吧,由于某种原因,这不起作用(第一个警报给我 NULL,第二个警报给我 0,这不是)。
为什么我的全局变量不起作用..??
谢谢!!
最佳答案
这不是范围问题 - 您的代码中存在拼写错误:
var object_list = $("#object__list"); // 2 underscores
$(document).on('keydown', '#object_list', function(event) { // 1 underscore
只要在父函数中声明 object_list
和 list_length
就应该可以工作。
或者,您可以将变量附加到 window
对象,这样它们就可以在代码中的任何位置使用:
window.object_list = $("#object__list");
window.list_length = object_list.find("li").length;
如上所述,鉴于您在 OP 中的代码,这应该不是必需的。
关于Javascript 和 Jquery 定义全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18290156/