Авторская разработка Плагина jQuery: Почему некоторые делают jQuery.pluginName и других jQuery.fn.pluginName?

Я не могу проверить наверняка без воспроизводимого примера, но я думаю, что это следует сделать:

library(tidyverse)
data %>% 
  select(date, ID, IndID, Station_id, weigh) %>% 
  left_join(Stt_nm, by="Station") %>%
  filter(date <= startdate & date >= enddate) %>%
  group_by(date, name) %>%
  summarize(rch = sum(weigh))
5
задан Mogsdad 28 February 2018 в 02:06
поделиться

1 ответ

имя jQuery.fn.mypluging расширяет объекты jQuery:

$(selector); //a jquery object
$(selector).myplugin();

jQuery.myplugin расширяет сам объект jQuery:

$; //the jQuery object
$.myPlugin();

Путем добавления плагина к jQuery.fn можно сделать материал к объектам, найденным тем селектором:

jQuery.fn.makeRed = function(){
 this.each( function() {
  $(this).css('color', 'red');
 }
}

$('div.someClass').makeRed(); //makes all divs of class someclass have red text

Расширение самого объекта jQuery обычно делается для функций, в которых нуждается Ваш класс, но которые не расширяют объекты jQuery. Таким образом расширять наш предыдущий пример:

jQuery.fn.doStuff = function(){
 this.each( function() {
  $(this).css('color', 'red')
         .append($.doStuff.giveMeRandom());
 }
}

jQuery.doStuff = {
 giveMeRandom: function() {
  return Math.random();
 }
}

$('div.someClass').doStuff(); //makes all divs of class someclass have red text and append a random number to them
10
ответ дан 13 December 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: