Jquery 处理函数 + requireJs

Jquery Handler Function + requireJs

我创建了一个 requireJs 模块,我已经在其中放置了所有函数:

define(['Scrollbar','module'],function(Scrollbar,module){
     return{
        init:function(){
            //CODE
        },
        manageScroll:function(){
            //CODE
        },
        manageResize:function(){
            //CODE
        },
        transform(){
            //CODE
        }
    }

});

在初始化部分,我定义了一个处理程序 Jquery 调整大小,它调用这个对象的函数

我是这样尝试的:

init:function(){
    this.transform();
    jQuery(window).resize(this.manageResize());
},

但它不起作用,我找到的唯一解决方案是下面的这个,但它在 IE 上不起作用。

init:function(){
    this.transform();
    jQuery(window).resize(()=>this.manageResize());
},

您有什么建议或更好的解决方案吗?

谢谢

您需要将回调传递给 jQuery(window).resize()。像这样:

init:function(){
    this.transform();
    jQuery(window).resize(this.manageResize.bind(this));
},

我们需要使用 .bind(this) 否则 this 将在 manageResize 方法中具有值 undefined。 (有关其工作原理的详细信息,请参阅 Function.prototype.bind。)

在第一次尝试中,您传递了 this.manageResize()return 值 。除非您正在 return 回调,否则这将无法工作。

在您的第二次尝试中,在 IE 中不起作用,您使用的是箭头函数,任何 IE 浏览器都不支持它。