如何在引用父代的jQuery监听器中使用“this”?

时间:2017-07-13 04:42:57

标签: javascript jquery

在jQuery侦听器中使用this关键字时,它引用DOM元素。它有没有办法引用父函数?

让我们使用这个简单的片段:

var myApp = {
  init: function() {
    // `this` refer to myApp
    $('.my-button').on('click', this.clickListener);
  },
  
  clickListener: function(e) {
    e.preventDefault();
  
    // now `this` refer to `.my-button`
    // how to make it refer to myApp?
    this.printLorem();
  },
  
  
  printLorem: function() {
    console.log('lorem ipsum dolor sit');
  }
};

myApp.init();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button class="my-button">Print Lorem Ipsum</button>

我多年来一直在想这个问题,到目前为止我只输入了myApp.printLorem()而不是this.printLorem()的var名称,但必须更清洁。

0 个答案:

没有答案