$(selector)中的jQuery Uncaught TypeError .on()

我收到以下错误:

Uncaught TypeError: ((jQuery.event.special[handleObj.origType] || (intermediate value)).handle || handleObj.handler).apply is not a function 

这是我的代码,它位于beforeSendsuccess调用之间,发生错误:

 $('#main-container').on('click', '#sign-in-btn', function (event) { var username = $('#username-textbox').val(); var password = $('#password-textbox').val(); $.ajax({ url: '/login', method: 'POST', beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', 'Basic ' + btoa(username + ":" + password)); }, success: function (data) { } }); event.preventDefault(); }); 

我还尝试将$(document).ready(function () { ... }调用放入其中,我得到了完全相同的错误。

让事件函数返回false修复它,因为错误是在事件传播期间的某处,如果事件返​​回falseevent.stopPropagation()被“调用”。