Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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_Jquery - Fatal编程技术网

Javascript 当给定可变变量错误时,如何访问正确的变量

Javascript 当给定可变变量错误时,如何访问正确的变量,javascript,jquery,Javascript,Jquery,我正在遍历几个元素并初始化所见即所得编辑器。 守则: for( var i = 0; i <= 2; i++ ){ $( '#textarea' + i ).wysihtml5({ "events": { "change": function() { console.log( i ); // Can't access i here } } }); } for(

我正在遍历几个
元素并初始化所见即所得编辑器。 守则:

for( var i = 0; i <= 2; i++ ){
    $( '#textarea' + i ).wysihtml5({
        "events": {
            "change": function() {
                console.log( i ); // Can't access i here
             }
        }
    });
}

for(var i=0;i这可能是因为更改是在循环完成后异步执行的。要在另一个作用域中获取i的副本,请执行以下操作:

var doStuff = function(i){
    $( '#textarea' + i ).wysihtml5({
        "events": {
            "change": function() {
                console.log( i ); // Can't access i here
             }
        }
    });
}

for( var i = 0; i <= 2; i++ ){
    doStuff(i);
}
var doStuff=函数(i){
$('#textarea'+i).wysihtml5({
“事件”:{
“更改”:函数(){
console.log(i);//无法在此处访问i
}
}
});
}

对于(var i=0;i这可能是因为在循环完成后异步执行更改。要在另一个作用域中获取i的副本,请执行以下操作:

var doStuff = function(i){
    $( '#textarea' + i ).wysihtml5({
        "events": {
            "change": function() {
                console.log( i ); // Can't access i here
             }
        }
    });
}

for( var i = 0; i <= 2; i++ ){
    doStuff(i);
}
var doStuff=函数(i){
$('#textarea'+i).wysihtml5({
“事件”:{
“更改”:函数(){
console.log(i);//无法在此处访问i
}
}
});
}

对于(var i=0;i这可能是因为在循环完成后异步执行更改。要在另一个作用域中获取i的副本,请执行以下操作:

var doStuff = function(i){
    $( '#textarea' + i ).wysihtml5({
        "events": {
            "change": function() {
                console.log( i ); // Can't access i here
             }
        }
    });
}

for( var i = 0; i <= 2; i++ ){
    doStuff(i);
}
var doStuff=函数(i){
$('#textarea'+i).wysihtml5({
“事件”:{
“更改”:函数(){
console.log(i);//无法在此处访问i
}
}
});
}

对于(var i=0;i这可能是因为在循环完成后异步执行更改。要在另一个作用域中获取i的副本,请执行以下操作:

var doStuff = function(i){
    $( '#textarea' + i ).wysihtml5({
        "events": {
            "change": function() {
                console.log( i ); // Can't access i here
             }
        }
    });
}

for( var i = 0; i <= 2; i++ ){
    doStuff(i);
}
var doStuff=函数(i){
$('#textarea'+i).wysihtml5({
“事件”:{
“更改”:函数(){
console.log(i);//无法在此处访问i
}
}
});
}

对于(var i=0;i这将起作用。您需要做的是定义一个新的作用域,其中
i
变量不变

for( var i = 0; i <= 2; i++ ){
    (function(i) {
        $( '#textarea' + i ).wysihtml5({
            "events": {
                "change": function() {
                    console.log(i);
                }
            }
        });
    })(i);  
}

for(var i=0;i这将起作用。您需要做的是定义一个新的作用域,其中
i
变量不变

for( var i = 0; i <= 2; i++ ){
    (function(i) {
        $( '#textarea' + i ).wysihtml5({
            "events": {
                "change": function() {
                    console.log(i);
                }
            }
        });
    })(i);  
}

for(var i=0;i这将起作用。您需要做的是定义一个新的作用域,其中
i
变量不变

for( var i = 0; i <= 2; i++ ){
    (function(i) {
        $( '#textarea' + i ).wysihtml5({
            "events": {
                "change": function() {
                    console.log(i);
                }
            }
        });
    })(i);  
}

for(var i=0;i这将起作用。您需要做的是定义一个新的作用域,其中
i
变量不变

for( var i = 0; i <= 2; i++ ){
    (function(i) {
        $( '#textarea' + i ).wysihtml5({
            "events": {
                "change": function() {
                    console.log(i);
                }
            }
        });
    })(i);  
}
(变量i=0;i)的