Javascript 绑定到jquery函数问题

Javascript 绑定到jquery函数问题,javascript,jquery,webpack,ecmascript-6,es6-class,Javascript,Jquery,Webpack,Ecmascript 6,Es6 Class,我在EcmaScript 6类中使用JQuery,我有一个事件函数,该函数在类的实例化时触发,该事件包含需要与该类交互的不同JQuery事件,因此我使用.bind()来实现这一点,除了一个由于某种原因用我用.bind(that)方法传递的“that”,下面是我的代码(除此事件外,一切正常): 因此,控制台日志为我提供了父类而不是jquery元素 如预期的那样: $(document).on('click', '[open-file-dialoge]', function(

我在EcmaScript 6类中使用JQuery,我有一个事件函数,该函数在类的实例化时触发,该事件包含需要与该类交互的不同JQuery事件,因此我使用.bind()来实现这一点,除了一个由于某种原因用我用.bind(that)方法传递的“that”,下面是我的代码(除此事件外,一切正常):

因此,控制台日志为我提供了父类而不是jquery元素 如预期的那样:

            $(document).on('click', '[open-file-dialoge]', function(event) {
                event.preventDefault();
                  $('[file-dialoge]').modal('show');
                  if ($(this).attr('mitiupload') == 'false') {
                    // check if multiple upload is disabled
                    that.multiUpload = false;
                    $(this).removeAttr('multiple');
                  }
                  that.insertFiles();
            }.bind(that));
请帮忙,我不明白这里发生了什么,一个不能像预期的那样工作,即使它们之间没有太大的区别;(

函数#bind()
在函数中更改
的上下文。如果您想要当前元素,可以使用
event.currentTarget

var-that={};
$(文档)。在('单击'、'按钮')上,函数(事件){
event.preventDefault();
var el=event.currentTarget;
log('this=',this);
console.log('el=',el)
}.bind(那));

单击我
函数#bind()
更改函数中此
的上下文。如果需要当前元素,可以使用
事件。currentTarget

var-that={};
$(文档)。在('单击'、'按钮')上,函数(事件){
event.preventDefault();
var el=event.currentTarget;
log('this=',this);
console.log('el=',el)
}.bind(那));


单击我
只需对父作用域使用
that
,并让jQuery分配自己的
this
。不知道第二个作用域如何适用于
$(此)
如果你不想
这个
引用类实例而不是元素,为什么要使用
bind
呢?!charlietfl,它实际上也不起作用,我的错,我没有注意到,因为它没有给我错误只需对父范围使用
那个
,让jQuery分配它自己的
这个
。看不出它是如何工作的如果你不想
这个
引用类实例而不是元素,那么为什么要使用
绑定
来引用第二个呢?!charlietfl,它实际上不起作用,我的错,我没有注意到,因为它没有给我错误
            $(document).on('click', '[open-file-dialoge]', function(event) {
                event.preventDefault();
                  $('[file-dialoge]').modal('show');
                  if ($(this).attr('mitiupload') == 'false') {
                    // check if multiple upload is disabled
                    that.multiUpload = false;
                    $(this).removeAttr('multiple');
                  }
                  that.insertFiles();
            }.bind(that));