【问题标题】:How to access array in jQuery live event?如何在 jQuery 直播活动中访问数组?
【发布时间】:2009-12-11 13:58:13
【问题描述】:

我有以下代码:

var numberOfSelectedOptions = new Array();
numberOfSelectedOptions[0]=0;
numberOfSelectedOptions[1]=0;
numberOfSelectedOptions[2]=0;

$("a.tagvariantoption").live("click", function(){
 alert(numberOfSelectedOptions[2]);
});

警报总是显示“未定义”。但是,在实时事件之外发出警报时,它可以完美地工作。关于为什么我的数组在现场活动中未定义或未知的任何想法?

这里有一些额外的信息:

var startcount = 0; 
var numberOfSelectedOptions = new Array(); 
numberOfSelectedOptions[0]=0; 
numberOfSelectedOptions[1]=0; 
numberOfSelectedOptions[2]=0; 

$("a.tagvariantoption").live("click", function(){ 
  alert(startcount); //gives 0 
  alert(numberOfSelectedOptions[0]); //gives undefined??? 
)};

HTML 工作正常,因为 startcount 打印正确,但我的数组在事件中保持未知。

【问题讨论】:

  • 你能把你的html添加到问题中
  • 这里没有足够的信息来回答 - 这在 Firefox 3.5.5 和 IE 6.0 中对我来说很好。
  • html 工作正常,检测到点击并打印警报。数组在事件中是未知的,而普通变量完全可以访问
  • 完美运行查看演示站点jsbin.com/avuxa
  • numberOfSelectedOptions 是否在您页面的其他位置声明或操作?

标签: jquery arrays live


【解决方案1】:

我以某种方式解决了这个问题:

var selectedOptionsCounter = new Array(0,0,0);

从那时起,该数组可以在现场活动中访问,但不知道之前出了什么问题。

【讨论】:

  • 你用什么浏览器测试?
  • 嗯,你的数组突然有了不同的名称 numberOfSelectedOptions 和 selectedOptionsCounter?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 2021-11-21
  • 2011-08-22
  • 2017-02-28
  • 1970-01-01
相关资源
最近更新 更多