Eu sei que em JavaScript a sintaxe é a seguinte:
function myfunction(param){
//some code
}
Existe uma maneira de declarar uma função no jQuery que pode ser adicionada a um elemento? Por exemplo:
$('#my_div').myfunction()
javascript
jquery
function
multimediaxp
fonte
fonte
$('#myDatePickerfield').datePicker();
$("#someElement").hide()
ou.addClass()
...Respostas:
Dos documentos :
Então você faz
fonte
$('my_div').myfunction();
será chamado<my_div></my_div>
. Você precisa do sinal de hash lá para se referir ao IDmy_div
.Apesar de todas as respostas que você já recebeu, é importante notar que você não precisa escrever um plugin para usar o jQuery em uma função. Certamente, se for uma função simples e única, acredito que escrever um plugin é um exagero. Isso pode ser feito com muito mais facilidade, basta passar o seletor para a função como parâmetro . Seu código seria algo parecido com isto:
Observe que o
$
nome da variável$param
não é necessário. É apenas um hábito meu facilitar a lembrança de que essa variável contém um seletor jQuery. Você poderia apenas usarparam
também.fonte
Embora exista uma infinidade de documentação / tutoriais por aí, a resposta simples para sua pergunta é a seguinte:
Dentro dessa função, a
this
variável corresponde ao conjunto agrupado do jQuery no qual você chamou sua função. Então, algo como:... liberará para o console o número de elementos da classe
foo
.Obviamente, há um pouco mais na semântica do que isso (assim como as melhores práticas e todo esse jazz), portanto, leia-o.
fonte
Para disponibilizar uma função nos objetos jQuery, adicione-a ao protótipo jQuery (fn é um atalho para o protótipo no jQuery) como este:
Isso geralmente é chamado de plugin jQuery .
Exemplo - http://jsfiddle.net/VwPrm/
fonte
Sim - o que você está descrevendo é um plugin jQuery.
Para escrever um plugin jQuery, crie uma função em JavaScript e atribua-a a uma propriedade no objeto
jQuery.fn
.Por exemplo
Dentro da função do plug-in, a
this
palavra-chave é configurada para o objeto jQuery no qual seu plug-in foi chamado. Então, quando você faz:Em seguida, o
this
interiormyfunction
será definido como o objeto jQuery retornado por$('#my_div')
.Consulte http://docs.jquery.com/Plugins/Authoring para obter a história completa.
fonte
fonte
Você também pode usar o extend (da maneira que você cria plugins jQuery):
Uso:
fonte
Você pode escrever seus próprios plugins jQuery (função que pode ser chamada em elementos selecionados) como abaixo:
Ligue mais tarde como:
fonte
Sim, os métodos aplicados aos elementos selecionados usando o jquery são chamados de plugins do jquery e há uma boa quantidade de informações sobre criação nos documentos do jquery.
Vale ressaltar que o jquery é apenas javascript, portanto não há nada de especial em um "método jquery".
fonte
Crie um método "colorir":
Use-o:
Este exemplo simple-ish combina o melhor da Como criar um Plugin básico nos docs jQuery e respostas de @Candide , @ Michael .
this
pode ser encadeado . (Obrigado @Potheek.)fonte
Você sempre pode fazer isso:
fonte
Parece que você deseja estender o objeto jQuery através de seu protótipo (também conhecido como escrever um plugin jQuery ). Isso significaria que todo novo objeto criado através da chamada da função jQuery (
$(selector/DOM element)
) teria esse método.Aqui está um exemplo muito simples:
Demo
fonte
O exemplo mais simples para criar qualquer função no jQuery é
fonte