Titanium Javascript:“;那"不起作用
Titanium Javascript: "that." does not work
这个和那个都不起作用。有人知道发生了什么事吗??
编辑:在其他代码中,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
的函数的方式造成的。在that
变量中存储对this
的引用应该可以让您从嵌套函数中引用它,这与您已经执行的方式完全相同——假设qwerty()
的调用方式首先将this
设置为正确的对象。(就我个人而言,我喜欢将这样的变量称为self
,因为它更准确地反映了变量的作用。)
然而,在你的函数中,你说你得到了这行的错误:
that.chara[i].width
假设你说this.chara[i].addEventListener(...)
,我猜chara[i]
变量包含对DOM元素的引用。如果是这种情况,我猜它是一个没有width
属性的元素类型。试试这个:
that.chara[i].style.width
https://developer.mozilla.org/en/CSS/width
这是我能为你做的最好的事情,而不需要更多关于你得到了什么错误以及如何调用qwerty()
函数的信息。。。
相关文章:
- 在我的代码中,实体类"卡片展示”;不起作用
- "浮动“;父DIV底部的DIV不起作用.(使用Pos:rel、Bottom 0等)
- jQuery mCustomScrollbar"滚动到“;不起作用
- "如何使用jQuery's form.serialize但排除空字段"不起作用(使用php)
- 逻辑“>"以及“<"在Jquery函数内部不起作用
- "href"JavaScript Android中的链接不起作用
- 在Jquery.css({height:"300px!important"!})中不起作用.JQuer
- HTML/JavaScript”;if!="不起作用
- 请帮忙"数据ng控制器”;不起作用
- jQuery"滑动下降”;动画不起作用
- 主路由器在路由“”的末尾附加一个#"导致dom中引用锚点在Backbone/Require应用程序中不起作用
- 我的javascript"幻灯片放映”;不起作用
- "document.getElementById”;不起作用
- Titanium Javascript:“;那"不起作用
- javascript addEventlistener"点击“;不起作用
- 引用类内的变量..当“;这个"不起作用,因为我们处于函数中
- 为什么jquery"改变“;事件在我的示例中不起作用
- "如果x〃;工作-“;如果x或!y”;不起作用
- "指针事件:无”;在IE9和IE10中不起作用
- 圣经般的"Sortable.create()"方法在进行AJAX调用以更新无序列表后不起作用