Javascript绑定";这";事件

Javascript绑定";这";事件,javascript,mootools,jaml,Javascript,Mootools,Jaml,下面是我在javascript中将“this”绑定到单击事件时遇到的一个错误。js的格式是Jaml/Mooml,有些人可能不熟悉,但我向您保证语法是正确的。我一直以同样的方式将“this”绑定到许多事件,这是我第一次看到这个错误,所以我希望一些mootools、jaml或javascript专家能够从下面的错误和代码中得出解决方案 Uncaught TypeError: Object [object Object] has no method 'get' Mooml.engine.tags.di

下面是我在javascript中将“this”绑定到单击事件时遇到的一个错误。js的格式是Jaml/Mooml,有些人可能不熟悉,但我向您保证语法是正确的。我一直以同样的方式将“this”绑定到许多事件,这是我第一次看到这个错误,所以我希望一些mootools、jaml或javascript专家能够从下面的错误和代码中得出解决方案

Uncaught TypeError: Object [object Object] has no method 'get'
Mooml.engine.tags.div.Mooml.engine.tags.div.events.click:relay(a)
bubbleUpmootools-core-1.4.1.js:3948
delegation.addEvent.delegatormootools-core-1.4.1.js:4078
defn
这是果酱

    'main': new Mooml.Template(null, function(data) {
        div({'class': 'lists container'},
            div({
                'class': 'sources',
                'events': {
                    'click:relay(a)': function(event) {
                        event.preventDefault();

                        new Resource({
                            'url': this.get('href'),
                            'method': 'FRIENDS',
                            'query' : {
                                'source': this.dataset.source
                            },

                            'onSuccess': function(response) {
                                console.log(response);
                                //this.renderTemplate('friends', response.mv, this);

                            }.bind(this),

                            'onFailure': this.onFailure

                        }).send();

                    }.bind(this)
                }

添加
var self=this
;然后在回调函数中使用
self
而不是
this


还可以查看并进一步了解
的工作原理。

添加
var self=this
;然后在回调函数中使用
self
而不是
this


另外,还可以查看并进一步了解
这个
的工作原理。

您说语法是正确的,但是否缺少一个结束语
?此
在主功能中引用了什么?我的意思是,如果将
console.log(this)
放在第二个
div()
调用(第3行)的前面,它会给你什么?你说语法是正确的,但你不是缺少一个结束语
?此
在主功能中引用了什么?我的意思是,如果您将
console.log(this)
放在第二个
div()
调用(第3行)之前,它会给您带来什么?谢谢,这让我更仔细地查看了我的资源调用。我找到了解决办法!更改此选项。转到event.target。get@Adgezaza你能与我们分享解决方案(或问题所在)吗?在接下来的7个小时内,你无法回答我自己的问题。但是刚刚添加了上面的注释。@Adgezaza使用
event.target.get
是好的和聪明的,但是这并没有告诉我们为什么你的代码不起作用。。。可能
this
没有引用在
div()
调用中创建的
,因此缺少的引用是使用
.bind(this)
进行“传播”的。这就是我要求您检查代码第一行中的
console.log(this)
。@lorenzo-s这是指前端javascript控制器,它是我构建的类的父类,其中包含一系列帮助函数,如mooml类中的renderTemplate。谢谢,这让我更仔细地查看了我的资源调用。我找到了解决办法!更改此选项。转到event.target。get@Adgezaza你能与我们分享解决方案(或问题所在)吗?在接下来的7个小时内,你无法回答我自己的问题。但是刚刚添加了上面的注释。@Adgezaza使用
event.target.get
是好的和聪明的,但是这并没有告诉我们为什么你的代码不起作用。。。可能
this
没有引用在
div()
调用中创建的
,因此缺少的引用是使用
.bind(this)
进行“传播”的。这就是我要求您检查代码第一行中的
console.log(this)
。@lorenzo-s这是指前端javascript控制器,它是我构建的类的父类,其中包含一系列帮助函数,如mooml类中的renderTemplate。