{"id":3436,"date":"2025-03-22T00:43:59","date_gmt":"2025-03-22T03:43:59","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=3436"},"modified":"2025-03-22T00:46:14","modified_gmt":"2025-03-22T03:46:14","slug":"criando-um-plugin-jquery","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/","title":{"rendered":"Criando um Plugin jQuery"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Criando um Plugin jQuery:<\/strong> A cria\u00e7\u00e3o de plugins jQuery \u00e9 uma forma poderosa de encapsular funcionalidades reutiliz\u00e1veis e compartilh\u00e1-las com outros desenvolvedores. Plugins permitem estender o poder do jQuery, adicionando novas funcionalidades e simplificando o desenvolvimento de aplica\u00e7\u00f5es web complexas. <\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Neste artigo, exploraremos como criar um plugin jQuery reutiliz\u00e1vel, desde a estrutura b\u00e1sica at\u00e9 a publica\u00e7\u00e3o e distribui\u00e7\u00e3o, sempre seguindo as melhores pr\u00e1ticas e utilizando as vers\u00f5es mais recentes da biblioteca.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>O Poder dos Plugins jQuery e a Reutiliza\u00e7\u00e3o de C\u00f3digo<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Plugins jQuery permitem que voc\u00ea crie componentes reutiliz\u00e1veis que podem ser facilmente integrados em diferentes projetos. Eles encapsulam funcionalidades espec\u00edficas, como widgets de interface, efeitos visuais ou intera\u00e7\u00f5es complexas, tornando o c\u00f3digo mais modular e f\u00e1cil de manter. Ao criar plugins, voc\u00ea pode compartilhar suas solu\u00e7\u00f5es com a comunidade jQuery e contribuir para o ecossistema da biblioteca.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Criando um Plugin jQuery Reutiliz\u00e1vel<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Estrutura B\u00e1sica de um Plugin jQuery:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Um plugin jQuery \u00e9 uma fun\u00e7\u00e3o que \u00e9 adicionada ao objeto <code>jQuery.fn<\/code> (ou <code>$.fn<\/code>).<\/li>\n\n\n\n<li>A fun\u00e7\u00e3o recebe um objeto de op\u00e7\u00f5es como par\u00e2metro, permitindo que os usu\u00e1rios personalizem o comportamento do plugin.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">A fun\u00e7\u00e3o deve retornar o objeto <code>this<\/code> para permitir o encadeamento de m\u00e9todos.<\/li>\n\n\n\n<li><strong>Exemplo:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>(function($) { <br>    $.fn.meuPlugin = function(opcoes) { <br>        var configuracoes = $.extend({ <br>            cor: \"vermelho\", <\/code><br>                               <code>tamanho: \"16px\" <br>        }, opcoes); <br>        return this.each(function() { <br>           $(this).css({ <br>               color: configuracoes.cor, <br>               fontSize: configuracoes.tamanho <br>           }); <br>        }); <br>    }; <br>})(jQuery);<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Op\u00e7\u00f5es e Configura\u00e7\u00f5es:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Utilize o m\u00e9todo <code>$.extend()<\/code> para mesclar as op\u00e7\u00f5es padr\u00e3o do plugin com as op\u00e7\u00f5es fornecidas pelo usu\u00e1rio.<\/li>\n\n\n\n<li>Defina op\u00e7\u00f5es padr\u00e3o para personalizar o comportamento do plugin.<\/li>\n\n\n\n<li>Permita que os usu\u00e1rios substituam as op\u00e7\u00f5es padr\u00e3o, fornecendo um objeto de op\u00e7\u00f5es ao chamar o plugin.<\/li>\n\n\n\n<li><strong>Exemplo:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>$(\"#meu-elemento\").meuPlugin({ <br>    cor: \"azul\", <br>    tamanho: \"20px\" <br>});<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Encapsulamento de Funcionalidades:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Encapsule a l\u00f3gica do plugin em fun\u00e7\u00f5es separadas para facilitar a manuten\u00e7\u00e3o e a reutiliza\u00e7\u00e3o.<\/li>\n\n\n\n<li>Utilize namespaces para evitar conflitos com outros plugins e vari\u00e1veis.<\/li>\n\n\n\n<li><strong>Exemplo:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>(function($) { <br>    $.fn.meuPlugin = function(opcoes) { <br>        var configuracoes = $.extend({ <br>            mensagem: \"Ol\u00e1, mundo!\" <br>        }, opcoes); <br>        function exibirMensagem(elemento, mensagem) {<br>            $(elemento).text(mensagem); <br>        } <br>        return this.each(function() { <br>            exibirMensagem(this, configuracoes.mensagem); <br>        }); <br>    }; <br>})(jQuery);<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Eventos e Callbacks:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Permita que os usu\u00e1rios executem fun\u00e7\u00f5es personalizadas quando eventos espec\u00edficos ocorrerem.<\/li>\n\n\n\n<li>Utilize callbacks para notificar os usu\u00e1rios sobre o progresso ou a conclus\u00e3o de tarefas.<\/li>\n\n\n\n<li><strong>Exemplo:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>(function($) { <br>    $.fn.meuPlugin = function(opcoes) { <br>        var configuracoes = $.extend({ <br>            onCompleto: function() {} <br>        }, opcoes); <br>        return this.each(function() { <br>            $(this).fadeOut(1000, configuracoes.onCompleto); <br>         }); <br>     }; <br>})(jQuery);<br><br>$(\"#meu-elemento\").meuPlugin({ <br>    onCompleto: function() { <br>        alert(\"Anima\u00e7\u00e3o conclu\u00edda!\"); <br>    } <br>});<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Publica\u00e7\u00e3o e Distribui\u00e7\u00e3o de Plugins jQuery:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Publique seu plugin em um reposit\u00f3rio p\u00fablico, como o GitHub, para facilitar a distribui\u00e7\u00e3o.<\/li>\n\n\n\n<li>Crie uma p\u00e1gina de documenta\u00e7\u00e3o clara e concisa para o seu plugin.<\/li>\n\n\n\n<li>Utilize um gerenciador de pacotes, como o npm ou o Bower, para facilitar a instala\u00e7\u00e3o do plugin.<\/li>\n\n\n\n<li><strong>Exemplo (publicando no npm):<\/strong>\n<ul class=\"wp-block-list\">\n<li>Crie um arquivo <code>package.json<\/code> com as informa\u00e7\u00f5es do seu plugin.<\/li>\n\n\n\n<li>Publique o plugin no npm utilizando o comando <code>npm publish<\/code>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Melhores Pr\u00e1ticas:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Utilize namespaces para evitar conflitos com outros plugins e vari\u00e1veis.<\/li>\n\n\n\n<li>Encapsule a l\u00f3gica do plugin em fun\u00e7\u00f5es separadas.<\/li>\n\n\n\n<li>Permita que os usu\u00e1rios personalizem o comportamento do plugin com op\u00e7\u00f5es.<\/li>\n\n\n\n<li>Utilize eventos e callbacks para notificar os usu\u00e1rios sobre o progresso e a conclus\u00e3o de tarefas.<\/li>\n\n\n\n<li>Publique seu plugin em um reposit\u00f3rio p\u00fablico e crie uma p\u00e1gina de documenta\u00e7\u00e3o clara.<\/li>\n\n\n\n<li>Utilize a vers\u00e3o mais recente do jQuery e das bibliotecas de suporte.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\"><strong>Conclus\u00e3o<\/strong><\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A cria\u00e7\u00e3o de plugins jQuery \u00e9 uma forma poderosa de estender a funcionalidade do jQuery e compartilhar solu\u00e7\u00f5es com outros desenvolvedores. Ao seguir as melhores pr\u00e1ticas apresentadas neste artigo, voc\u00ea poder\u00e1 criar plugins reutiliz\u00e1veis e contribuir para o ecossistema da biblioteca.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Mas antes de dominar o jQuery, se for o seu caso, toda jornada tem um in\u00edcio. Vamos entender quais s\u00e3o os conhecimentos b\u00e1sicos necess\u00e1rios para aproveitar ao m\u00e1ximo esta poderosa biblioteca. Para iniciar seus estudos no jQuery, voc\u00ea precisar\u00e1 dominar as seguintes tecnologias:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/html\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html.webp\" alt=\"HTML\" class=\"wp-image-600\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">HTML<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/css\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux.webp\" alt=\"CSS\" class=\"wp-image-702\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">CSS<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/category\/javascript\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript.webp\" alt=\"Javascript\" class=\"wp-image-804\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">JavaScript<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Criando um Plugin jQuery: A cria\u00e7\u00e3o de plugins jQuery \u00e9 uma forma poderosa de encapsular&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3355,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"class_list":["post-3436","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jquery","wpcat-31-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Criando um Plugin jQuery - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Criando um Plugin jQuery: Neste artigo, exploraremos como criar um plugin jQuery reutiliz\u00e1vel, desde a estrutura b\u00e1sica at\u00e9 a publica\u00e7\u00e3o e...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Criando um Plugin jQuery - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Criando um Plugin jQuery: Neste artigo, exploraremos como criar um plugin jQuery reutiliz\u00e1vel, desde a estrutura b\u00e1sica at\u00e9 a publica\u00e7\u00e3o e...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-22T03:43:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-22T03:46:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/Capa-Artigos.png\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"Criando um Plugin jQuery\",\"datePublished\":\"2025-03-22T03:43:59+00:00\",\"dateModified\":\"2025-03-22T03:46:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/\"},\"wordCount\":636,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Capa-Artigos.png\",\"articleSection\":[\"jQuery\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/\",\"name\":\"Criando um Plugin jQuery - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Capa-Artigos.png\",\"datePublished\":\"2025-03-22T03:43:59+00:00\",\"dateModified\":\"2025-03-22T03:46:14+00:00\",\"description\":\"Criando um Plugin jQuery: Neste artigo, exploraremos como criar um plugin jQuery reutiliz\u00e1vel, desde a estrutura b\u00e1sica at\u00e9 a publica\u00e7\u00e3o e...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Capa-Artigos.png\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/Capa-Artigos.png\",\"width\":758,\"height\":426,\"caption\":\"jQuery\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/criando-um-plugin-jquery\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Criando um Plugin jQuery\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\",\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Criando um Plugin jQuery - BLOG THIAGO ROSSI","description":"Criando um Plugin jQuery: Neste artigo, exploraremos como criar um plugin jQuery reutiliz\u00e1vel, desde a estrutura b\u00e1sica at\u00e9 a publica\u00e7\u00e3o e...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/","og_locale":"pt_BR","og_type":"article","og_title":"Criando um Plugin jQuery - BLOG THIAGO ROSSI","og_description":"Criando um Plugin jQuery: Neste artigo, exploraremos como criar um plugin jQuery reutiliz\u00e1vel, desde a estrutura b\u00e1sica at\u00e9 a publica\u00e7\u00e3o e...","og_url":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2025-03-22T03:43:59+00:00","article_modified_time":"2025-03-22T03:46:14+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/Capa-Artigos.png","type":"image\/png"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"Criando um Plugin jQuery","datePublished":"2025-03-22T03:43:59+00:00","dateModified":"2025-03-22T03:46:14+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/"},"wordCount":636,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/Capa-Artigos.png","articleSection":["jQuery"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/","url":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/","name":"Criando um Plugin jQuery - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/Capa-Artigos.png","datePublished":"2025-03-22T03:43:59+00:00","dateModified":"2025-03-22T03:46:14+00:00","description":"Criando um Plugin jQuery: Neste artigo, exploraremos como criar um plugin jQuery reutiliz\u00e1vel, desde a estrutura b\u00e1sica at\u00e9 a publica\u00e7\u00e3o e...","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/Capa-Artigos.png","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2025\/03\/Capa-Artigos.png","width":758,"height":426,"caption":"jQuery"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/criando-um-plugin-jquery\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Criando um Plugin jQuery"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \"GDD \u2013 O Guia Definitivo\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86","https:\/\/linkedin.com\/in\/thiagox86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/3436","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3436"}],"version-history":[{"count":1,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/3436\/revisions"}],"predecessor-version":[{"id":3437,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/3436\/revisions\/3437"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/3355"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3436"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3436"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3436"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}