/ / jQuery метод плагіна, який не бере елемент - javascript, jquery, jquery-plugins

Метод jQuery плагіна, який не приймає елемент - javascript, jquery, jquery-plugins

Я створюю плагін jQuery, в якому один із методів, який я хотів би писати, не буде приймати аргумент селектора і не повинен передавати елемент. Я хотів би, щоб це було доступно за допомогою дзвінка, як $.myMethod() як вбудований $.ajax() метод. До цього часу я пробував щось на зразок

$.fn.myMethod(options) {
console.log("I"ve been called");
}

Це працює, коли я намагаюся $(".a_selector").myMethod() але не тоді, коли я намагаюся $.myMethod().

Чи можна це зробити за допомогою плагіна jQuery, чи він доступний лише для внутрішніх функцій.

Мета цього методу - виконатидія з деякими даними, які зберігаються в jQuery.data. Я усвідомлюю, що вони jQuery.data пов'язані з елементом, але в цьому випадку я жорстко закодував його в елемент body, щоб полегшити ситуацію для кінцевого користувача.

Відповіді:

2 для відповіді № 1

Функції, які є членами $.fn застосовувати до об'єктів jQuery, а не до $ сам об’єкт. Якщо ви хочете створити такий метод, вам потрібно лише написати:

$.yourMethod = function() {
// Do something.
};

Тепер ви можете викликати його без об’єкта jQuery:

$.yourMethod();

0 для відповіді № 2

Це може бути складний спосіб оголошення такої функції

$.extend({myMethodA:function(){
//Do something
},
myMethodB:function(){
//Do something else
}
});