我需要从on()处理程序中调用一个函数.在我的示例代码中,我必须调用func1().我用的on()是#myid不会对文件的负载存在.这是代码:
func1: function (e, data) {
console.log('func1');
this.func3();
},
func2: function (e, data) {
$('#myid').on('click', function () {
this.func1();
});
}
},
Run Code Online (Sandbox Code Playgroud)
此代码不起作用.错误是:
未捕获的TypeError:this.func1()不是函数
如何从内部调用函数on()?
未捕获的TypeError:this.func1()不是函数
您将遇到此错误,因为this此处的上下文不同.它指向jQuery元素的上下文#myid,而不是原始元素.要摆脱它,试试这个:
// ... Code removed for brevity
func2: function (e, data) {
var self = this;
$('#myid').on('click', function () {
self.func1();
});
}
// ... Code removed for brevity
Run Code Online (Sandbox Code Playgroud)