Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera tudo bom com vocês?
Pessoar, me ajudem nesta dúvida!
Para criar e chamar um função no jquery é muito simples:
//Criando
jQuery.fn.extend({
nomeFuncao: function(){ param }
});Minha dúvida é a seguinte, como faço para criar uma função e passar parâmetros como por exemplo nas funções do jquery UI, onde eu chamo uma função e os parâmetros são inseridos com em um objeto ou array. Veja o exemplo:
//chamado
jQuery('div').buttom({
text:true,
label:'Clique aqui!'
});
Não sei se fui claro, qualquer coisa perguntem.
Rá encontrei
Na verdade isto que estou procurando esta bem explicado aqui: http://imasters.com.br/artigo/21249/jquery/criando-um-plugin-para-jquery
Basicamente isto que estou tentando fazer é quase que criar um plugIn vejam:
(function( $ ){
$.fn.mostraNomeIdade = function( options ) {
var settings = $.extend( {
'nome' : 'nome',
'idade' : '100'
}, options);
return this.each(function() {
$(this).html(settings.nome+' '+settings.idade);
});
};
// chamando a função setando os parametros
$('div').mostraNomeIdade({
nome: 'william',
idade: 23
});
})( jQuery );É exatamente isso William, você não precisa passar sempre 'objetos de parâmetros', mas pode passar quantos argumentos quiser.
( function ( $ ) {
$.fn.displayNameAndAge = function ( name , age ) {
// ...
} ;
} ( jQuery ) ) ;Agora que descobri essa utilidade do jQuery, estou tentando criar uma função parecida com a .val(). Mas está acusando que minha função não existe (is not a function).
(function($){
jQuery.fn.markerAddress = function(){
return this.each(function(){
var arrAddress = $(this).title.split('||');
return arrAddress[0];
});
};
})(jQuery);
Estou chamando assim:
alert(arrMarker[index].markerAddress());
arrMarker[index] é um array com objetos Marker do Google Maps, existe alguma restrição quanto ao elemento/objeto em que a função pode ser utilizada ou ao valor retornado?
Esse title é uma string no seguinte formato:
address||name|description
Quero que me retorne apenas o address.
A chamada está na ordem correta, a criação da função está em auxiliar.js e a chamada, em functions.js.
<script type="text/javascript" src="js/lib/jquery_1.7.1.js"></script>
<script type="text/javascript" src="js/auxiliar.js"></script>
<script type="text/javascript" src="js/functions.js"></script>
Desde já, muito obrigado! :thumbsup:
Não são nodes ? mostre o que é esse Marker, debuge ..
( function ( $ ) {
$.fn.markerAddress = function ( ) {
console.log ( this ) ;
}
} ( jQuery ) ) ;Sinceramente, não tenho certeza. Coloquei essa funcção no auxiliar.js e acusou o mesmo erro (is not a function).
Coloquei direto no alerta e apareceu: _firebugIgnore :upset:
Olha só, não sabia dessa, vou acompanhar pra saber também! :thumbsup: