Плагин Jquery с использованием отложенного объекта не работает

0
(function ( $ ){            
    $.fn.customAlert = function(callback ){
        buttonClicked().then(function(){
            if (typeof callback == 'function'){
                callback.call(this);
            }
        }, function(){
            alert("didn't work");
        }).always(function(){               
            });
    };    
}( jQuery ));

Я пытаюсь создать пользовательское приглашение, и это то, что у меня есть до сих пор. $.customAlert(...); кнопки, и я вызываю $.customAlert(...); в другой части моего javascript, но кнопки не генерируют никакого ответа.

Uncaught TypeError: Object function (e,t){return new x.fn.init(e,t,r)} has no method 'customAlert'

  • 0
    Вы смотрели на консоль ошибок?
Теги:

1 ответ

1
Лучший ответ

Вы создаете customAlert в $.fn. Это используется для добавления методов в jQuery. Вот почему вызов $.customAlert(...); не будет работать. Если вы хотите иметь возможность вызвать customAlert таким образом, вы должны назначить его $, а не $.fn. В противном случае вам придется вызывать его с помощью $('some selector').customAlert.

  • 0
    Боже, так просто. Благодарю. Я; однако, получая сообщение об ошибке из консоли, сообщающее, что buttonClicked is not defined .
  • 0
    Вы определяете buttonClicked внутри вашего ready обработчика, поэтому он не виден для этого блока кода. Вам придется переместить его за пределы готового обработчика или создать $.customAlert внутри того же обработчика.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню