在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名称,但必须更清洁。