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

Javascript ";“那是什么?”;不起作用

Javascript ";“那是什么?”;不起作用,javascript,object,titanium,this,Javascript,Object,Titanium,This,这个和那个都不起作用。有人知道发生了什么吗 编辑: qwerty在其他代码段中简称为“qwerty();”。 它应该是独立的 编辑:我意识到什么是错的。问题在于我 function qwerty () { ..... for loop that changes i ...... var that = this; this.chara[i] = createlabel..... this.chara[i].addEventListener('click', function(e) {

这个和那个都不起作用。有人知道发生了什么吗

编辑: qwerty在其他代码段中简称为“qwerty();”。 它应该是独立的

编辑:我意识到什么是错的。问题在于我

function qwerty () {
..... for loop that changes i ......

var that = this;
this.chara[i] = createlabel.....

this.chara[i].addEventListener('click', function(e) {
    var j = e.source.id;
    alert("hello word");
    alert(this.chara[j].width); // I get the error here
});

this.chara[i].addEventListener('doubleclick', function(e) {
    alert("hello word");
    alert(that.chara[i].width); // I get the error here too.
});
}
this
相关的任何JS问题都可能是由于调用使用
this
的函数的方式造成的。将对
this
的引用存储在
that
变量中,应该允许您从嵌套函数中引用它,这正是您正在执行的方式-假设调用
qwerty()
的方式首先将
this
设置为正确的对象。(就我个人而言,我喜欢将这种变量称为self,因为它更准确地反映了变量的作用。)

但是,在函数中,您说您在这一行中得到了错误:

that.chara[i].width
假设您说
this.chara[i].addEventListener(…)
我猜
chara[i]
变量包含对DOM元素的引用。如果是这种情况,我猜它是一种没有
width
属性的元素类型。试试这个:

that.chara[i].style.width


这是我能为您做的最好的事情,没有更多关于您得到的错误以及如何调用
qwerty()
函数的信息…

您得到的错误是什么?这个函数是如何调用的?我定义的变量在哪里?事件绑定函数是异步的,因此i的值可能不是您期望的值。更正我之前的注释。即使在纠正i之后,仍然存在这个/那个问题。