假设我有一个数组Boxes={"#box5","#box3",#box1"","#box2","#box4"}
,我有一个jquery语句
$(Boxes[2]).click(--------some code----------)
我的问题是,语句总是以 - 当单击box1时执行,即使我在其间多次交换Box数组。因此,即使Boxes[2] = "box2"
代码在我单击box1而不是box2时仍然执行。
这是某种预处理吗?
答案 0 :(得分:1)
当您致电$(Boxes[2])
时,重要的是Boxes[2]
在您致电时的价值。
所以更好的是将click事件挂钩到所有框并在代码内部检查数组值是否是被单击的框。
样品:
// bind to all elements that id begin with "box"
$("id^=[box]").click(function() {
// see if the clicked box is the one we want
if ($(this).id == Boxes[2]) {
// some code
}
})