问题
I am getting the following error:
Uncaught TypeError: ((jQuery.event.special[handleObj.origType] || (intermediate value)).handle || handleObj.handler).apply is not a function
This is my code and it's somewhere in between the beforeSend
and the success
calls that the error is happening:
$('#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();
});
I also tried to put inside a $(document).ready(function () { ... }
call and I get the exact same error.
回答1:
Having the event function return false
fixed it because the error was somewhere during the propagation of the event and if an event returns false
then event.stopPropagation()
is "called".
来源:https://stackoverflow.com/questions/31876769/jquery-uncaught-typeerror-in-selector-on