javascript - 如何使用更改默认 this 的库来调用它?

标签 javascript interact.js

所以我开始使用interactjs 我有这个简单的代码:

class example {
    registerTouchEvents() {
        var self = this;
        interact('.touchy').draggable({
            onstart: self.onStart,
        });
    }

    onStart(event) {
        this.someAction();//<-- not working as this is interact object
    }

    someAction() {
        console.log('touch has been started') //<-- I need to call this function
    }

}

有没有办法在不使用全局变量的情况下调用当前对象?

最佳答案

将处理程序移动到声明“self”的位置:

class example {
    registerTouchEvents() {
        var self = this
          , onStart = function onStart(event) {
                self .someAction();
            }
          ;
        interact('.touchy').draggable({
            onstart: onStart,
        });
    }

    someAction() {
        console.log('touch has been started') //<-- I need to call this function
    }

}

关于javascript - 如何使用更改默认 this 的库来调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41659542/

相关文章:

javascript - 带参数的下划线去抖动

javascript - 如何在 Mongoose 中设置文档创建的 TTL 日期?

javascript - 如何限制interact.js中的拖动元素

jquery - 在interact.js中添加自定义右键单击拖动项目

javascript - Leaflet.js 和 Interact.js --- 避免触发两个点击监听器

javascript - 单击时将分区永久 append 到元素

javascript - interact.js 光标没有改变

javascript - HTML 标题 a[href] jQuery

javascript - jQuery 发布到 node.js -> 不存在 request.body

javascript - 如何将 'this' 与 onClick 结合使用以从正确的 href 获取属性