【问题标题】:jQuery Uncaught TypeError in $(selector).on()$(selector).on() 中的 jQuery Uncaught TypeError
【发布时间】:2015-10-30 20:12:10
【问题描述】:

我收到以下错误:

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 () { ... } 调用中进行调用,但得到了完全相同的错误。

【问题讨论】:

  • 你必须在前面加上jquery并把它放在$( document ).ready(function() {...});
  • 尝试在 Chrome 开发工具中使用 Pause on exception 功能并通过调用堆栈探索变量
  • @ozil 如果不包含 jQuery 或未实现 ready 包装器,即使第一行也不会执行。
  • 我将它包装在 $(document).ready() 调用中,但我仍然得到完全相同的错误。编辑问题以包含它。

标签: javascript jquery javascript-events


【解决方案1】:

让事件函数返回 false 修复它,因为错误出现在事件传播过程中的某个地方,如果事件返​​回 falseevent.stopPropagation() 被“调用”。

【讨论】:

    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2023-03-04
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2022-12-27
    相关资源
    最近更新 更多