Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.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
Jquery 每一个都可以工作,但绑定dosen';为什么?_Jquery - Fatal编程技术网

Jquery 每一个都可以工作,但绑定dosen';为什么?

Jquery 每一个都可以工作,但绑定dosen';为什么?,jquery,Jquery,Hi有一个控制台阵列的功能,它工作正常 这是我的职责: var arrayLength = outFitLinks.length-1; var depthCount = 0; for(i=1;i<=arrayLength;i++){ $('.cloneFrame').clone().removeClass('cloneFrame').each(function(){ i % 2 == 1 ? $(this).attr('id','id

Hi有一个控制台阵列的功能,它工作正常

这是我的职责:

var arrayLength = outFitLinks.length-1;
    var depthCount = 0;
    for(i=1;i<=arrayLength;i++){
        $('.cloneFrame').clone().removeClass('cloneFrame').each(function(){
            i % 2 == 1 ? $(this).attr('id','id'+i).appendTo('.front') : $(this).attr('id','id'+i).appendTo('.back');
            $(this).find('.product-frame').each(function(index){
                depthCount += 1;
                $(this).find('img').attr('src', 'imgs/outfits/'+depthCount+'.jpg');
                $(this).find('a').each(function(){
                    console.log(outFitLinks[i][index]); 
                })
                $(this).parent().hide();
            })
        })

    }
    $('.cloneFrame').remove();
var arrayLength=1.length;
var depthCount=0;

对于(i=1;i您是否尝试过使用
。单击(…)
而不是
绑定(“单击“,…)

我在其中一个中发生了一些奇怪的事情,但在另一个中没有,我想尝试更改它:)

它不起作用,因为事件处理程序运行得更晚,当变量
I
(可能还有
oughtlinks
)的值与事件绑定时的值不同时

创建闭包,以便可以在局部变量中保留每个值,以便以后使用:

(function() {
  var links = outFitLinks[i][index];
  $(this).find('a').bind('click', function(){
    console.log(links);
  });
})();
想一想,在这种情况下,您已经有了一个闭包,因为您正在使用
。每个
都用于循环,因此使用以下各项就足够了:

var links = outFitLinks[i][index];
$(this).find('a').bind('click', function(){
  console.log(links);
});

没有使用
$(this)的任何原因。查找('a')。单击(function(){})
?只是一个提示:有一个“;”缺失-但在两个示例中都有缺失。可能不是问题我需要在…
上附加一个click事件。click()
在内部使用
.bind('click',…)
。这只是一个辅助方法。
var links = outFitLinks[i][index];
$(this).find('a').bind('click', function(){
  console.log(links);
});