Javascript 将 "this"绑定(bind)到事件

标签 javascript mootools jaml

下面是我在 javascript 中将“this”绑定(bind)到点击事件时遇到的错误。 js 的格式是 Jaml/Mooml,可能有些人不熟悉,但我向您保证语法是正确的。我一直以同样的方式将“this”绑定(bind)到许多事件,这是我第一次看到这个错误,所以我希望一些 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

这是 Jaml...

    '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

另请查看http://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/http://javascriptweblog.wordpress.com/2010/08/30/understanding-javascripts-this/详细了解的工作原理。

关于Javascript 将 "this"绑定(bind)到事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646779/

相关文章:

javascript - 如何在javascript中使用正则表达式查找字符串中的子字符串?

php - 如何在 jquery 中以 json 形式获取数据时 float 数字?

css - 如何更改 CSS 样式取决于浏览器

javascript - JS - 关于如何将多个用户输入合并到一个表单域设计的建议

与 Chrome 的内容安全策略一起工作的 Javascript 模板引擎

templates - for 循环中的 Saltstack 负载支柱

javascript - AngularJS : controller fails when minified

javascript - MooTools 拖动/ slider 无法正常运行

javascript - 浏览器周围 Javascript 中的实例评估

javascript - 使用重置 jquery 绑定(bind)的 Knockout 绑定(bind)