Подтвердить что ты не робот

Uncaught TypeError: ((x.event.special [i.origType] || (промежуточное значение)). Handle || i.handler).apply не является функцией

Пожалуйста, помогите мне. Это ошибка, когда я использую jQuery в ASP.NET MVC.

Uncaught TypeError: ((x.event.special [i.origType] || (промежуточное значение)). handle || i.handler).Приложение не является функцией. TypeError: ((x.event.special [i.origType] || (промежуточное значение)). handle || i.handler).ppl не является функцией

Код, вызывающий это:

$('#btnClick').click(function(){   //code })

This is an image of the error

4b9b3361

Ответ 1

В моем случае ошибка была вызвана привязкой событий к функциям, которые не существовали. Я удалил функции, которые, как я не знал, были связаны с событиями.

Смотрите фрагмент ниже:

var foo = {
  bar1: function(){
    alert('working');
  }
};

// Working
$('body').on('click', '.my-button', foo.bar1);

// Not Working because bar2 doesn't exist
$('body').on('click', '.my-button', foo.bar2);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="my-button">Click me</span>

Ответ 2

Если это полезно для всех, это может быть связано также с тем, что функция обработчика событий объявляется дважды.

Мой коллега закодировал событие как 'on' дважды, и я решил (между прочим, вызов Fool).

Например, если у вас есть ошибка ввода:

$(document).on('change', '#selectInput').on('change', '#selectInput', function () {});

Должно быть:

$(document).off('change', '#selectInput').on('change', '#selectInput', function () {});

Ответ 3

В моем случае я набрал

$('body').click('click','.delete_item',function(e){})

Когда я намеревался напечатать:

$('body').on('click','.delete_item',function(e){}) 

изменив значение click на on, удалил ошибку.

Ответ 4

Недавно я столкнулся с той же проблемой. Я обнаружил, что это была моя ошибка при обработке событий jquery. Вместо

$('#btnClick').click(function(){   //code })

Попробуйте это,

$('#btnClick').on('click', function(){   //code })

Это сработало для меня. Надеюсь, что это поможет.

Ответ 5

В моем случае он работал после объявления делегата внутри $(document).ready( function() {});

Ответ 6

У меня было событие, связанное с селектором, который больше не существует.

$(document).on('click', '.js-test', App.test);

Я удалил div .js-test и забыл. Это вызвало ошибку на моем конце.

Ответ 7

Я думаю, это немного поздно, но для любого, кто сталкивается с этой проблемой: проверьте свой html-код на несколько импортированных jquery-импорт. Любой дополнительный импорт может испортить ранее зарегистрированные дескрипторы/плагины и т.д.

Ответ 8

Для меня это происходит при изменении размера окна. Мой коллега написал событие изменения размера элемента, который он позже удалил. Поэтому при изменении размера окна позже jQuery проверяет элемент и выдает ошибку, если он не может найти.

Ответ 9

Другой способ, которым я получил эту ошибку, - это рассеянно поставить функцию, в которой должно быть имя функции:

не так:

$('.foo').click($('.bar').trigger('click'));

право:

$('.foo').click(function () {
  $('.bar').trigger('click');
});

также правильно:

$('.foo').click(triggerBarClick);

function triggerBarClick() {
  $('.bar').trigger('click');
}

Ответ 10

Связывание нескольких событий с одним ID или классом или неправильное связывание событий может вызвать эту проблему.

В моем случае у меня была эта ошибка из-за этой ошибки:

$('body').on('change', '.btnAddNewRow').click(function () {