<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ajaxianos &#187; Javascript</title>
	<atom:link href="http://www.ajaxianos.com.br/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxianos.com.br</link>
	<description>Dicas de javascript, jquery, ajax</description>
	<lastBuildDate>Tue, 29 Nov 2011 03:08:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Alternativa de API para jQuery</title>
		<link>http://www.ajaxianos.com.br/2011/06/alternativa-de-api-para-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2011/06/alternativa-de-api-para-jquery/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 16:52:41 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[referência]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=306</guid>
		<description><![CDATA[Tem gente de bom humor por aí&#8230; Algumas pessoas felizes resolveram fazer um site de referência pra jQuery pra ninguém botar defeito(frase estilo sessão da tarde :p ). O site tem a descrição completa de todas as funções detalhadamente e com exemplos funcionais &#160; &#160; &#160; &#160; &#160; &#160; Você pode navegar pelas &#8220;categorias&#8221; tradicionais [...]]]></description>
			<content:encoded><![CDATA[<p>Tem gente de bom humor por aí&#8230;<br />
Algumas pessoas felizes resolveram fazer um site de referência pra jQuery pra ninguém botar defeito(frase estilo sessão da tarde :p ).<br />
<a href="http://www.ajaxianos.com.br/wp-content/uploads/2011/06/jqapi01.png"><img class="alignleft size-full wp-image-307" title="jqapi01" src="http://www.ajaxianos.com.br/wp-content/uploads/2011/06/jqapi01.png" alt="" width="471" height="288" /></a>O site tem a descrição completa de todas as funções detalhadamente e com exemplos funcionais</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.ajaxianos.com.br/wp-content/uploads/2011/06/jqapi02.png"><img class="alignleft size-full wp-image-308" title="jqapi02" src="http://www.ajaxianos.com.br/wp-content/uploads/2011/06/jqapi02.png" alt="" width="271" height="244" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Você pode navegar pelas &#8220;categorias&#8221; tradicionais ou pela busca(se você tiver uma vaga lembrança do que esta procurando)</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Fica a dica, favoritem aí <a href="http://jqapi.com/">http://jqapi.com/</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2011%2F06%2Falternativa-de-api-para-jquery%2F&amp;title=Alternativa%20de%20API%20para%20jQuery" id="wpa2a_2"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2011/06/alternativa-de-api-para-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin jQuery para criar urls amigáveis (friendly url)</title>
		<link>http://www.ajaxianos.com.br/2011/06/plugin-jquery-para-criar-urls-amigaveis-friendly-url/</link>
		<comments>http://www.ajaxianos.com.br/2011/06/plugin-jquery-para-criar-urls-amigaveis-friendly-url/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 18:53:05 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[friendly-url]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=278</guid>
		<description><![CDATA[Estou customizando uma loja virtual pra minha esposa(www.modababy.com.br) e queria que todas as publicações dela tivessem urls amigáveis pra melhorar o SEO da loja, só que como se já não bastasse ser um saco ficar cadastrando produtos, ela ainda tem que colocar manualmente essas urls, e o sistema não faz nem questão de saber se [...]]]></description>
			<content:encoded><![CDATA[<p>Estou customizando uma loja virtual pra minha esposa(<a href="http://www.modababy.com.br" target="_blank">www.modababy.com.br</a>) e queria que todas as publicações dela tivessem urls amigáveis pra melhorar o SEO da loja, só que como se já não bastasse ser um saco ficar cadastrando produtos, ela ainda tem que colocar manualmente essas urls, e o sistema não faz nem questão de saber se essa url já foi usada&#8230; =/<br />
Daí eu fiz um plugin jQuery muito simples que pega o valor de um campo e coloca em outro campo já convertido, ainda não é a melhor coisa do mundo, mas vocês ainda podem ajudar a melhorar, por isso vou disponibilizar aqui pra vocês também <img src='http://www.ajaxianos.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Este é o plugin</strong>:</p>
<pre class="js" name="code">
(function($){
	$.fn.friendly = function(to){
		//Divide o valor atual em array
		var curr = $(to).val().split('-');
		/*
		Verifico se o primeiro item é vazio, se sim,
		eu coloco o timestamp, se não, eu verifico se
		o último valor não é um número, se não for, eu
		mantenho sem timestamp, se for um número, eu mantenho
		o número, assim evita-se 404 pelo Robô do google e afins
		*/
		var ts = curr[0]==''?'-'+Math.round(((new Date()).getTime()-Date.UTC(1970,0,1))/1000):(isNaN(curr[curr.length-1])?'':'-'+curr[curr.length-1]);
		/*
		A conversão ocorre basicamente aqui, onde no final eu
		concateno com o timestamp
		*/
		$(to).val($(this).val().replace(/\s/g, '-').replace(/[^\w/-]/g, '').toLowerCase()+ts);
	};
})(jQuery);
</pre>
<p>Repare que coloquei uma variável &#8220;ts&#8221; que gera um timestamp, fiz isso para o meu caso onde o sistema não valida se a url amigável já existe, colocando um timestamp no final ele nunca vai se repetir e não faz diferença para o SEO</p>
<p><strong>Como funciona?</strong><br />
Funciona assim&#8230; no primeiro seletor, você coloca o elemento de onde você quer o texto, e dentro do friendly, você coloca o seletor de onde você quer que o texo apareça<br />
Ex:</p>
<pre class="js" name="code">$('#tab_general input[name^=product_description][name*=name]').friendly('#tab_data input[name=keyword]');</pre>
<p>Pra que ele atualize pra cada palavra digitada, você precisa associar a um evento no elemento, no meu caso eu fiz isso aqui:</p>
<pre class="js" name="code">$('#tab_general input[name^=product_description][name*=name]').bind('keyup', function(){
        $(this).friendly('#tab_data input[name=keyword]');
    })</pre>
<p>No keyup do campo, eu atualizo o segundo campo</p>
<p>Espero que seja útil <img src='http://www.ajaxianos.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2011%2F06%2Fplugin-jquery-para-criar-urls-amigaveis-friendly-url%2F&amp;title=Plugin%20jQuery%20para%20criar%20urls%20amig%C3%A1veis%20%28friendly%20url%29" id="wpa2a_4"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2011/06/plugin-jquery-para-criar-urls-amigaveis-friendly-url/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Como pegar um parâmetro da url usando javascript</title>
		<link>http://www.ajaxianos.com.br/2011/06/como-pegar-um-parametro-da-url-usando-javascript/</link>
		<comments>http://www.ajaxianos.com.br/2011/06/como-pegar-um-parametro-da-url-usando-javascript/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 19:07:07 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[diversos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[dica]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=269</guid>
		<description><![CDATA[como pegar um parâmetro da url, seja ele com "?", "&#38;" ou até âncora "#"]]></description>
			<content:encoded><![CDATA[<p>Pessoas, me deparei com um problema aqui no trabalho e tive que fazer uma função básica pra pegar um parâmetro da url, seja ele com &#8220;?&#8221;, &#8220;&amp;&#8221; ou até âncora &#8220;#&#8221;, achei que poderia ser útil pra mais alguém, segue o código</p>
<pre class="js" name="code">
	function getParameter(p,href){
		var parName = p.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  		var rx = new RegExp("[\\?&#]"+parName+"=([^&#]*)");
  		var valor = rx.exec(href);
  		if(valor == null){
    		return "";
		}else{
    		return valor[1];
		}
	}
</pre>
<p>Como onde eu precisei usar, a url nem sempre estava no browser, eu estou passando ela por parâmetro, esta função retorna o valor do parâmetro que você procurou, ou retorna vazio se não encontrar nada, ex:</p>
<pre class="js" name="code">
        alert(getParameter('parametroDaUrl',location.href));
</pre>
<p>Espero que seja útil</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2011/06/como-pegar-um-parametro-da-url-usando-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>8 expressões regulares que você tem que saber</title>
		<link>http://www.ajaxianos.com.br/2011/02/8-expressoes-regulares-que-voce-tem-que-saber/</link>
		<comments>http://www.ajaxianos.com.br/2011/02/8-expressoes-regulares-que-voce-tem-que-saber/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 18:15:32 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[RegularExpression]]></category>
		<category><![CDATA[regular expression]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=264</guid>
		<description><![CDATA[Eu particularmente tenho um bloqueio mental quando se trata de contruir expressões regulares, por mais que eu saiba como é simples, e me esforce, não sai&#8230; daí corro pro goolge e procuro algo que me atenda. Daí uma alma abençoada me mandou um link de um blog explicando graficamente como funciona as RegEx e dando [...]]]></description>
			<content:encoded><![CDATA[<p>Eu particularmente tenho um bloqueio mental quando se trata de contruir expressões regulares, por mais que eu saiba como é simples, e me esforce, não sai&#8230; daí corro pro goolge e procuro algo que me atenda.</p>
<p>Daí uma alma abençoada me mandou um link de um blog explicando graficamente como funciona as RegEx e dando 8 exemplos que devem ser comuns em nossa rotina</p>
<p>Favoritem esse link:<a href="http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/"> http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/</a></p>
<p>PS.: Desculpem a ausência do blog, quem quiser me acompanhar, segue meu cartão <a href="http://wender.com.br">http://wender.com.br</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2011%2F02%2F8-expressoes-regulares-que-voce-tem-que-saber%2F&amp;title=8%20express%C3%B5es%20regulares%20que%20voc%C3%AA%20tem%20que%20saber" id="wpa2a_6"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2011/02/8-expressoes-regulares-que-voce-tem-que-saber/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boas Práticas ao desenvolver com Javascript</title>
		<link>http://www.ajaxianos.com.br/2010/09/boas-praticas-ao-desenvolver-com-javascript/</link>
		<comments>http://www.ajaxianos.com.br/2010/09/boas-praticas-ao-desenvolver-com-javascript/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 16:29:22 +0000</pubDate>
		<dc:creator>duodraco</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=231</guid>
		<description><![CDATA[Olá. Este é meu primeiro post aqui no ajaxianos. Vou repassar algumas boas práticas e dicas para o desenvolvimento com javascript. 1.: Utilizar uma biblioteca: Vai te poupar boas horas de trabalho, com funções prontas para HttpRequest, alteração de conteúdo, utilitários para arrays e objetos, etc. Temos diversas opções, dentre as mais conhecidas jQuery, Prototype [...]]]></description>
			<content:encoded><![CDATA[<p>Olá. Este é meu primeiro post aqui no ajaxianos. Vou repassar algumas boas práticas e dicas para o desenvolvimento com javascript.</p>
<p>1.: Utilizar uma biblioteca: Vai te poupar boas horas de trabalho, com funções prontas para HttpRequest, alteração de conteúdo, utilitários para arrays e objetos, etc. Temos diversas opções, dentre as mais conhecidas jQuery, Prototype e Dojo. Ainda temos as utilitárias para interface como jQueryUI, Scriptaculous e YUI, sendo que esta ultima é mais global, não sendo uma biblioteca só para interface. O interessante ao usar uma biblioteca é antes de mais nada estudar sua API, e num segundo momento seu código. Você encontrará soluções sofisticadas para problemas comuns. Minha primeira opção é a jQuery / jQueryUI &#8230; e em breve jQuery Mobile</p>
<p>2.: Mantenha um padrão de codificação. Isso vai colaborar demais na organização do código, e principalmente trabalhando em equipe: é fundamental que todos estejam falando a mesma língua. Não conheço nenhum padrão que seja &#8220;o padrão a ser seguido&#8221;. O que existe é uma convenção na qual muitos desenvolvedores se apoiam:<br />
- indentação com espaços (4) ao invés de tabs<br />
- limite de 80 caracteres por linha<br />
- chaves de blocos  lógicos(if,switch,for,while,etc) começam na linha da declaração, e seguem com uma quebra de linha e indentação e seu conteúdo.<br />
- Utilizar o formato JSON para declarar objetos e arrays ([1,2,3] ou {&#8220;nome&#8221;:&#8221;Duodraco&#8221;})<br />
- Nomear de maneira humanamente compreensível suas variáveis. Já vi variáveis com os nomes mais bizarros possíveis, e alguns com nomes acessíveis, mas completamente fora de contexto.<br />
- Usar o formato &#8220;camelizado&#8221; na nomenclatura: palavras todas juntas, e o primeiro caracter de cada uma em maiúsculo. maisOuMenosAssim.<br />
- Usar ; no final de cada comando<br />
- Codar de forma que o código seja autodescritivo.<br />
- evitar <em>continue</em>, <em>eval</em> e <em>with</em>, por mais tentador que possa parecer.<br />
Um código bem formatado deve se parecer com isso:</p>
<pre class="js" name="code" >var contador = 0;
function popularBox(titulo,corpo){
    if(titulo == undefined || corpo == undefined){
        return false;
    }
    jQuery("#box DIV.titulo").html(titulo);
    jQuery("#box DIV.corpo").html(corpo);
    return true;
}</pre>
<p>Uma maneira que utilizo para organizar o código é mantê-lo em arquivos separados (independente da biblioteca, mesmo que seja feito mais um request). Nesses arquivos eu agrupo minhas funções em Objetos, utilizando-os inclusive com variaveis que utilizo na página. Uso e abuso do formato <abbr title="JavaScript Object Notation">JSON</abbr> para me organizar. Segue um exemplo:</p>
<pre class="js" name="code">var customControl = {
    "defaults":{
        "title":"Atenção",
        "position":"center center"
    },
    "alert":function(body,title,callback){
        if(title == undefined || !title){
            title = customControl.defaults.title;
        }
        //mais código
    },
    "confirm":function(body,callback){
        //codigo do confirm
    }
}
var artigo = {
    "obj":{
        "id":0,
        "title":"",
        "body":""
    },
    "save":function(){
        //codigo do save
    }
}</pre>
<p>Outra dica de extrema importância: Sabe aquela história de &#8220;CSS no começo e JS no fim&#8221;? Siga isso sempre no seu desenvolvimento.<br />
Deixe para carregar suas bibliotecas, funções, e tudo o mais que precisar no final, preferencialmente após todo o HTML (DOM) ter sido decalrado.<br />
Os navegadores param a renderização sempre que encontram &lt;script&gt; e isso pode (e vai) ser prejudicial na performance do seu sistema/site; além disso em alguns navegadores (entenda-se: <abbr title="Internet Explorer">IE</abbr>) lançam erros se você tentar alterar a árvore <abbr title="Document Object Model">DOM</abbr> enquanto ela estiver sendo processada. Sua vida será melhor se tentar manipular os objetos com os quais quer trabalhar se eles já existirem.</p>
<p>Dica extra: Utilize ferramentas de debugging/inspect &#8230; no firefox você tem o mais que excelente firebug, e em navegadores webkit existe o web inspector; o Opera tem o DragonFly e o IE &#8230; bem o IE é o IE&#8230;</p>
<p>Bom, por hora é só. Em breve voltaremos com mais dicas. Fiquem ligados</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2010%2F09%2Fboas-praticas-ao-desenvolver-com-javascript%2F&amp;title=Boas%20Pr%C3%A1ticas%20ao%20desenvolver%20com%20Javascript" id="wpa2a_8"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2010/09/boas-praticas-ao-desenvolver-com-javascript/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>prettyPrint ALTAMENTE recomendado!</title>
		<link>http://www.ajaxianos.com.br/2009/07/prettyprint-altamente-recomendado/</link>
		<comments>http://www.ajaxianos.com.br/2009/07/prettyprint-altamente-recomendado/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 09:52:43 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[debug]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=145</guid>
		<description><![CDATA[O prettyPrint é uma versão do cfdump para JavaScript, o cfdump é uma tag de ColdFusion que é usada pra depuração/debug ou análise visual de estruturas complexas como Objetos, Componentes, Array, Query etc&#8230; Cada tipo de objeto possui uma cor diferenciada. O prettyPrint esta fazendo a mesma coisa só que para JavaScript e ainda aplicando [...]]]></description>
			<content:encoded><![CDATA[<p>O prettyPrint é uma versão do cfdump para JavaScript, o cfdump é uma tag de ColdFusion que é usada pra depuração/debug ou análise visual de estruturas complexas como Objetos, Componentes, Array, Query etc&#8230; Cada tipo de objeto possui uma cor diferenciada.<br />
O prettyPrint esta fazendo a mesma coisa só que para JavaScript e ainda aplicando o estilo com Canvas! Adorei esse script e usei muito esse final de semana, pra quem me segue no twitter pessoal @wenderw sabe que passei as últimas 2 madrugadas trabalhando&#8230; bom, o prettyPrint foi um forte aliado e companheiro nessas madrugadas!<br />
Valeu prettyPrint!<br />
<img class="alignnone" title="prettyPrint" src="http://www.ajaxianos.com.br/arquivos/prettyprint.png" alt="" width="200" height="132" /><br />
Visitem o site com o exemplo!<br />
<a href="http://james.padolsey.com/javascript/prettyprint-for-javascript/">http://james.padolsey.com/javascript/prettyprint-for-javascript/</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F07%2Fprettyprint-altamente-recomendado%2F&amp;title=prettyPrint%20ALTAMENTE%20recomendado%21" id="wpa2a_10"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/07/prettyprint-altamente-recomendado/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Como fazer o &#8220;loading&#8221; para requisições Ajax</title>
		<link>http://www.ajaxianos.com.br/2009/06/como-fazer-o-loading-para-requisicoes-ajax/</link>
		<comments>http://www.ajaxianos.com.br/2009/06/como-fazer-o-loading-para-requisicoes-ajax/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 10:47:50 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[loading]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=126</guid>
		<description><![CDATA[Usando a lib do jQuery (http://jquery.com) Sendo que você tem na página uma DIV com ID &#8220;loading&#8221; Ver este post: http://www.ajaxianos.com.br/2009/04/dica-como-manter-o-loading-visivel-com-scroll/ &#60;script&#62; // Este código afeta toda requisição ajax que for feita usando jQuery // não é necessário replicar esta operação em nenhuma outra parte $("#loading").ajaxStart(function(){ //Quando a requisição começar, Exibe a DIV $(this).show(); }); [...]]]></description>
			<content:encoded><![CDATA[<p>Usando a lib do jQuery (<a href="http://jquery.com">http://jquery.com</a>)<br />
Sendo que você tem na página uma DIV com ID &#8220;loading&#8221;<br />
Ver este post: <a href="http://www.ajaxianos.com.br/2009/04/dica-como-manter-o-loading-visivel-com-scroll/">http://www.ajaxianos.com.br/2009/04/dica-como-manter-o-loading-visivel-com-scroll/</a><br />
&lt;script&gt;</p>
<pre name="code" class="js">// Este código afeta toda requisição ajax que for feita usando jQuery
// não é necessário replicar esta operação em nenhuma outra parte
$("#loading").ajaxStart(function(){
//Quando a requisição começar, Exibe a DIV
   $(this).show();
});
$("#loading").ajaxStop(function(){
//Quando a requisição parar, Esconde a DIV
   $(this).hide();
});</pre>
<p>&lt;/script&gt;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F06%2Fcomo-fazer-o-loading-para-requisicoes-ajax%2F&amp;title=Como%20fazer%20o%20%26%238220%3Bloading%26%238221%3B%20para%20requisi%C3%A7%C3%B5es%20Ajax" id="wpa2a_12"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/06/como-fazer-o-loading-para-requisicoes-ajax/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dica: Como manter o loading visível com scroll</title>
		<link>http://www.ajaxianos.com.br/2009/04/dica-como-manter-o-loading-visivel-com-scroll/</link>
		<comments>http://www.ajaxianos.com.br/2009/04/dica-como-manter-o-loading-visivel-com-scroll/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 17:51:11 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[diversos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[mooTools]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[flutuante]]></category>
		<category><![CDATA[loading]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=115</guid>
		<description><![CDATA[Dica rápida! Como manter o loading ou menu flutuante ou o que quer que seja visível mesmo quando você faz o scroll. Nos browsers mais inteligentes como FireFox e Safari uma propriedade no CSS é o suficiente para fazer o loading ficar paradinho sempre visível, mas para o IE(Pelo menos até a versão 6) é [...]]]></description>
			<content:encoded><![CDATA[<p>Dica rápida!</p>
<p>Como manter o loading ou menu flutuante ou o que quer que seja visível mesmo quando você faz o scroll.<br />
Nos browsers mais inteligentes como FireFox e Safari uma propriedade no CSS é o suficiente para fazer o loading ficar paradinho sempre visível, mas para o IE(Pelo menos até a versão 6) é necessário fazer uma interferência com javascript para ajustar a posição do elemento.</p>
<p>CSS do loading:</p>
<pre name="code" class="html">
<style>
#loading{
position:fixed; /*Esta propriedade fixed é que faz ele ficar parado nos browsers bonitos :-p*/
*position:absolute; /*hack para IE, só ele entende esse asterisco*/
margin:5px;
top:0;
left:0;
border:1px solid #960;
background-color:#FF9;
}
</style>
</pre>
<p>JavaScript:</p>
<pre name="code" class="js">
// Só faz o cheat se for o IE
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
document.documentElement.onscroll = updatePos;
}
function updatePos(){
var pos = document.documentElement.scrollTop;
document.getElementById('loading').style.top = pos;
}
</pre>
<p>HTML do Loading:</p>
<pre name="code" class="js">
<span id="loading">
	Carregando...
</span>
</pre>
<p><strong>UPDATE:</strong><br />
Nosso colega Anderson Straube(<a href="http://www.andersonstraube.com">http://www.andersonstraube.com</a>) indicou um hack mais esperto para o IE.<br />
Mais uma vez&#8230; só funciona no IE, é uma função chamada &#8220;expression&#8221;<br />
<a href="http://msdn.microsoft.com/en-us/library/ms537634(VS.85).aspx">http://msdn.microsoft.com/en-us/library/ms537634(VS.85).aspx</a><br />
assim, para o IE não seria necessário mais uma função JS, basta o comando &#8220;híbrido&#8221; no CSS, Exemplo:</p>
<pre name="code" class="html">
<style>
#loading{
position:fixed; /*Esta propriedade fixed é que faz ele ficar parado nos browsers bonitos :-p*/
*position:absolute; /*hack para IE, só ele entende esse asterisco*/
margin:5px;
top:0;
*top: expression(eval(document.documentElement.scrollTop)); /* hack para IE */	
left:0;
border:1px solid #960;
background-color:#FF9;
}
</style>
</pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F04%2Fdica-como-manter-o-loading-visivel-com-scroll%2F&amp;title=Dica%3A%20Como%20manter%20o%20loading%20vis%C3%ADvel%20com%20scroll" id="wpa2a_14"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/04/dica-como-manter-o-loading-visivel-com-scroll/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Solução completa de listagem/ordenação/paginação/busca com jQuery</title>
		<link>http://www.ajaxianos.com.br/2009/03/solucao-completa-de-listagemordenacaopaginacaobusca-com-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2009/03/solucao-completa-de-listagemordenacaopaginacaobusca-com-jquery/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 14:16:28 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[busca]]></category>
		<category><![CDATA[datagrid]]></category>
		<category><![CDATA[ordenação]]></category>
		<category><![CDATA[paginação]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2009/03/solucao-completa-de-listagemordenacaopaginacaobusca-com-jquery/</guid>
		<description><![CDATA[Caramba&#8230;Aqui estou eu vendo meus feeds no google reader quando me deparo com essa solução.É basicamente um datadgrid, só que completo, você pode trabalhar em cima dele com customização do layout, mas é só isso que você precisa fazer, pois ele tem suporte a internacionalização com o nosso português brasileiro! Limitação de registros por página [...]]]></description>
			<content:encoded><![CDATA[<p>Caramba&#8230;<br />Aqui estou eu vendo meus feeds no google reader quando me deparo com essa solução.<br />É basicamente um datadgrid, só que completo, você pode trabalhar em cima dele com customização do layout, mas é só isso que você precisa fazer, pois ele tem suporte a internacionalização com o nosso português brasileiro!
<div align="left"><b><i>Limitação de registros por página e ordenação</i></b><br /><img style="max-width: 800px; float: none;" src="http://www.ajaxianos.com.br/wp-content/uploads/2009/03/datatables-1.jpg" /> <b><i></p>
<p></i></b></div>
<p><b><i>Busca instantânea em todos os campos da tabela</i></b></p>
<p><img style="max-width: 800px; float: none;" src="http://www.ajaxianos.com.br/wp-content/uploads/2009/03/datatables-2.jpg" /></p>
<p>A ativação é praticamente ridícula, tenho até vergonha de postar aqui, mas vamos lá&#8230;<br />Primeiro óbviamente, para que tudo funcione corretamente, você deve instalar a lib do jQuery e o plugin dataTables no seu sistema, isso deve ser o mais difícil perto do próximo passo.</p>
<p><b><i>Crie sua tabela respeitando as tags  &lt;thead&gt; e &lt;tbody&gt;  que são praticamente desconhecidas por muitos programadores, e dê um ID para sua tabela</i></b><br /><img style="max-width: 800px; float: none;" src="http://www.ajaxianos.com.br/wp-content/uploads/2009/03/datatables-3.jpg" /><br /><i><b><br /></b></i>Depois disso, adicione em um bloco script o comando $(&#8216;#idDaSuaTabela&#8217;).dataTable() como no exemplo abaixo</p>
<p><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/wp-content/uploads/2009/03/datatables-4.jpg" /></p>
<p>Agora imagine a economia que você pode fazer em desenvolvimento, tendo isso em suas mãos!<br />Isso valoriza suas aplicações e só traz benefícios, tanto para você quanto para o seu cliente, quem sabe você não ganha até um aumento!<br />Foi útil? então, vamos colaborar com os caras, não seja mão-de-vaca :-p</p>
<p>Link: <a target="_blank" href="http://www.datatables.net/">http://www.datatables.net/</a></p>
<p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=637c95ca-1eba-4d26-bc5b-b2aaff2c7657" /></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F03%2Fsolucao-completa-de-listagemordenacaopaginacaobusca-com-jquery%2F&amp;title=Solu%C3%A7%C3%A3o%20completa%20de%20listagem%2Fordena%C3%A7%C3%A3o%2Fpagina%C3%A7%C3%A3o%2Fbusca%20com%20jQuery" id="wpa2a_16"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/03/solucao-completa-de-listagemordenacaopaginacaobusca-com-jquery/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Outra opção de crop de imagens com Mootools</title>
		<link>http://www.ajaxianos.com.br/2009/03/outra-opcao-de-crop-de-imagens-com-mootools/</link>
		<comments>http://www.ajaxianos.com.br/2009/03/outra-opcao-de-crop-de-imagens-com-mootools/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 13:26:31 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[mooTools]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2009/03/outra-opcao-de-crop-de-imagens-com-mootools/</guid>
		<description><![CDATA[Eu já postei anteriormente uma opção de crop de imagens usando jQuery(http://www.ajaxianos.com.br/2008/09/crop-de-imagem-com-jquery/), agora um plugin para mootools me chamou a atenção, ele foi desenvolvido pelos caras da uvumi.com.Além do óbvio que uma ferramenta de crop deve fazer, esse plugin permite que você faça um clique em qualquer área da imagem sem desfazer o crop, ao [...]]]></description>
			<content:encoded><![CDATA[<p>Eu já postei anteriormente uma opção de crop de imagens usando jQuery(<a href="http://www.ajaxianos.com.br/2008/09/crop-de-imagem-com-jquery/">http://www.ajaxianos.com.br/2008/09/crop-de-imagem-com-jquery/</a>), agora um plugin para mootools me chamou a atenção, ele foi desenvolvido pelos caras da uvumi.com.<br />Além do óbvio que uma ferramenta de crop deve fazer, esse plugin permite que você faça um clique em qualquer área da imagem sem desfazer o crop, ao invéz disso, ele centraliza o crop na área clicada, isso eu achei fantástico, muito simples e prático, além disso, um duplo clique na área de crop faz com que a seleção fique na imagem inteira.<br />O plugin também exibe uma pequena caixa flutuante com o tamanho e posicionamento do crop junto com um thumb de preview da area do crop, reamente um ótimo trabalho, parabéns aos caras do uvumi.com</p>
<p><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/wp-content/uploads/2009/03/mootools-crop-uvumitools.jpg" /><br />Quase esqueci de mencionar a quantidade de eventos, o que é muito importante, para o jCrop eu tive que criar funções paralelas para executar algumas tarefas que são feitas com facilidade por esse plugin</p>
<p>Link: <a target="_blank" href="http://tools.uvumi.com/crop.html">http://tools.uvumi.com/crop.html</a></p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=3c847704-c99e-40c5-aca8-93c23c3eef15" /></div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F03%2Foutra-opcao-de-crop-de-imagens-com-mootools%2F&amp;title=Outra%20op%C3%A7%C3%A3o%20de%20crop%20de%20imagens%20com%20Mootools" id="wpa2a_18"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/03/outra-opcao-de-crop-de-imagens-com-mootools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disponível nova versão do jQuery &#8220;bugFix&#8221;</title>
		<link>http://www.ajaxianos.com.br/2009/02/disponivel-nova-versao-do-jquery-bugfix/</link>
		<comments>http://www.ajaxianos.com.br/2009/02/disponivel-nova-versao-do-jquery-bugfix/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 20:00:30 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=83</guid>
		<description><![CDATA[A equipe do jQuery publicou a versão 1.3.2 da lib com várias correções importantes, a lista completa das atualizações você encontra aqui: http://dev.jquery.com/report/33 Uma das correções que me foram úteis foi a da função &#8220;clone&#8221; com parâmetro &#8220;true&#8221; no IE. Esta função faz o que o nome diz, literalmente um clone de qualquer elemento, no [...]]]></description>
			<content:encoded><![CDATA[<p>A equipe do jQuery publicou a versão 1.3.2 da lib com várias correções importantes, a lista completa das atualizações você encontra aqui:<br />
<a href="http://dev.jquery.com/report/33" target="_blank">http://dev.jquery.com/report/33</a></p>
<p>Uma das correções que me foram úteis foi a da função &#8220;clone&#8221; com parâmetro &#8220;true&#8221; no IE.<br />
Esta função faz o que o nome diz, literalmente um clone de qualquer elemento, no meu caso um formulário complexo cheio de event handlers, o atributo &#8220;true&#8221; faz com que todos os event handlers também sejam clonados, no FireFox(como sempre) funciona direitinho, mas no IE quando você clonava um elemento clonado ele gerava um bug que pelo menos pra mim, clonava o elemento 2 vezes.</p>
<p>Com a versão 1.3.2 o bug foi corrigido e está aprovado!</p>
<p>Uma observação que faço pra quem possuia uma versão mais velha(1.2.6) e usava &#8220;@&#8221; no seletor jQuery, suas aplicações precisam ser atualizadas removendo o &#8220;@&#8221;, ele não é mais utilizado,<br />
antes $(&#8220;input[@name=xxx]&#8220;) agora $(&#8220;input[name=xxx]&#8220;)</p>
<p>jQuery: <a href="http://www.jquery.com" target="_blank">www.jquery.com</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F02%2Fdisponivel-nova-versao-do-jquery-bugfix%2F&amp;title=Dispon%C3%ADvel%20nova%20vers%C3%A3o%20do%20jQuery%20%26%238220%3BbugFix%26%238221%3B" id="wpa2a_20"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/02/disponivel-nova-versao-do-jquery-bugfix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Problema com jCrop + Scroll</title>
		<link>http://www.ajaxianos.com.br/2009/02/problema-com-jcrop-scroll/</link>
		<comments>http://www.ajaxianos.com.br/2009/02/problema-com-jcrop-scroll/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 00:14:23 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jCrop]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2009/02/problema-com-jcrop-scroll/</guid>
		<description><![CDATA[Este post é para ajudar aqueles que porventura venham a ter o mesmo problema que eu tive No sistema de imagem que estou desenvolvendo, tenho uma área de tamanho limitado para as imagens, por isso o css do meu container possui &#8220;overflow:auto&#8221; para que quando a imagem ultrapassar a área do editor, esta fique com [...]]]></description>
			<content:encoded><![CDATA[<p>Este post é para ajudar aqueles que porventura venham a ter o mesmo problema que eu tive <img src='http://www.ajaxianos.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
No sistema de imagem que estou desenvolvendo, tenho uma área de tamanho limitado para as imagens, por isso o css do meu container possui &#8220;overflow:auto&#8221; para que quando a imagem ultrapassar a área do editor, esta fique com um scroll.<br />
O problema do jCrop é o seguinte, quando é necessário fazer a seleção de uma região da imagem abaixo da área visível(que seja necessário rolar o scroll da DIV) e mudar sua posição, o scroll volta para a posição Top 0 Left 0, o seu cursor continua parado na tela e a área de seleção fica lá embaixo onde você não consegue mais vê-la.<br />
Para resolver este problema eu tive que debugar o código do <a href="http://www.ajaxianos.com.br/2008/09/crop-de-imagem-com-jquery/">plugin jCrop</a> até encontrar o ponto exato que faz com que a inconsistência ocorria.<br />
Por incrível que pareça, este problema ocorre apenas quando um recurso está habilitado, o &#8220;keySupport&#8221;, sendo assim, para resolver o problema, basta mudar sua condição padrão para &#8220;false&#8221;</p>
<p>Exemplo:</p>
<pre name="code" class="js">
jQuery(function() {
	jQuery('#jcrop_target').Jcrop({
		keySupport: false
	});
});
</pre>
<p>Sendo assim o suporte a teclas não funcionará, mas seu crop(que mais importa) continuará bonito <img src='http://www.ajaxianos.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Uma outra opção(<i>que no meu caso não é viável já que o tamanho da área varia de acordo com uso do browser e resolução da tela</i>), seria definir o tamanho da área destinada ao Crop</p>
<p>Exemplo:</p>
<pre name="code" class="js">
$(function() {
    $('#cropbox').Jcrop({ boxWidth: 450, boxHeight: 400 });
});
</pre>
<p>Espero que essa dica possa ajudar muita gente, pra que não fiquem igual algumas pessoas(eu) pastando horas para tentar solucionar esse problema.</p>
<p> <img src='http://www.ajaxianos.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F02%2Fproblema-com-jcrop-scroll%2F&amp;title=Problema%20com%20jCrop%20%2B%20Scroll" id="wpa2a_22"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/02/problema-com-jcrop-scroll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Função Live do jQuery</title>
		<link>http://www.ajaxianos.com.br/2009/02/funcao-live-do-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2009/02/funcao-live-do-jquery/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 14:28:06 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Live]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2009/02/funcao-live-do-jquery/</guid>
		<description><![CDATA[Aqui vai uma dica pra quem pretende manipular itens dinâmicos em uma página e precisa persistir os eventos dos elementos. Existia um plugin para jQuery chamado &#8220;Live&#8221; que agora foi integrado à nova versão do jQuery(1.3.1), vou exemplificar a utilidade desta função. Imagine que em um sistema você tenha um cadastro de itens, pra cada [...]]]></description>
			<content:encoded><![CDATA[<p>Aqui vai uma dica pra quem pretende manipular itens dinâmicos em uma página e precisa persistir os eventos dos elementos.<br />
Existia um plugin para jQuery chamado &#8220;Live&#8221; que agora foi integrado à nova versão do jQuery(1.3.1), vou exemplificar a utilidade desta função.<br />
Imagine que em um sistema você tenha um cadastro de itens, pra cada item que você adiciona, um evento tem que ser atribuído a ele, então o que você faz?</p>
<pre class="js" name="code">
$('li').click(function(){
   alert('Pan!');
})
</pre>
<p>Só que você terá que executar essa operação de bind todas as vezes, daí vai acontecer algo estranho&#8230; fazendo assim você vai somar o bind click em todos os itens que já o possuem, ou seja, no segundo bind, quem já estava &#8220;binded&#8221; terá 2 alerts e assim por diante, então o que você tinha que fazer?</p>
<pre class="js" name="code">
$('li').unbind();
$('li').click(function(){
   alert('Pan!');
})
</pre>
<p>Tinha que desfazer o bind e em seguida aplicar novamente.<br />
Com a função Live, você faz o bind apenas uma vez, os novos itens que vão entrando, automaticamente recebem esse bind.</p>
<pre class="js" name="code">
$('li').live('click',function(){
   alert('Pan!');
})
</pre>
<p>Simples assim!<br />
Para cancelar você pode usar o &#8220;preventDefault&#8221; no evento</p>
<pre class="js" name="code">
$('li').live('click', function(event){
  event.preventDefault();
});</pre>
<p>[]s</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F02%2Ffuncao-live-do-jquery%2F&amp;title=Fun%C3%A7%C3%A3o%20Live%20do%20jQuery" id="wpa2a_24"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/02/funcao-live-do-jquery/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Uma opção light ao FCKEditor em jQuery</title>
		<link>http://www.ajaxianos.com.br/2009/01/uma-opcao-light-ao-fckeditor-em-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2009/01/uma-opcao-light-ao-fckeditor-em-jquery/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 21:48:01 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[editor de texto]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2009/01/uma-opcao-light-ao-fckeditor-em-jquery/</guid>
		<description><![CDATA[Pois é, pra quem não precisa de grande coisa em uma administração, ou não quer que seu cliente destrua o layout do site que você fez com tanto carinho&#8230; esta é uma ótima opção. É um editor de texto wysiwyg (What You See Is What You Get) Depois de incluído os devidos scripts(jQuery e jWYSIWYG), [...]]]></description>
			<content:encoded><![CDATA[<p>Pois é, pra quem não precisa de grande coisa em uma administração, ou não quer que seu cliente destrua o layout do site que você fez com tanto carinho&#8230; esta é uma ótima opção.<br />
É um editor de texto wysiwyg (<a target="_blank" href="http://pt.wikipedia.org/wiki/WYSIWYG">What You See Is What You Get</a>)</p>
<p><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/wysiwyg.jpg" /><br />
Depois de incluído os devidos scripts(jQuery e jWYSIWYG), a aplicação do bichinho é muito simples</p>
<pre class="js" name="code">
$(&lt;span class="reserved"&gt;function&lt;/span&gt;()
{
    $(&lt;span class="string"&gt;'#wysiwyg'&lt;/span&gt;).wysiwyg();
});
</pre>
<p>A página do projeto você encontra aqui: <a target="_blank" href="http://code.google.com/p/jwysiwyg/">http://code.google.com/p/jwysiwyg/</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2009%2F01%2Fuma-opcao-light-ao-fckeditor-em-jquery%2F&amp;title=Uma%20op%C3%A7%C3%A3o%20light%20ao%20FCKEditor%20em%20jQuery" id="wpa2a_26"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2009/01/uma-opcao-light-ao-fckeditor-em-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SlideShow jQuery com transações fade e legendas flutuantes</title>
		<link>http://www.ajaxianos.com.br/2008/11/slideshow-jquery-com-transacoes-fade-e-legendas-flutuantes/</link>
		<comments>http://www.ajaxianos.com.br/2008/11/slideshow-jquery-com-transacoes-fade-e-legendas-flutuantes/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 15:19:56 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[diversos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=62</guid>
		<description><![CDATA[Título grande não? tentei resumir, mas não deu&#8230; Eu fiz algo como esse muito toscamente, sem fade nem legenda, só para deixar como um tampão numa homepage que não tinha conteúdo&#8230; mas isso é com certeza beeemm melhor. A instalação é bastante simples, você vai precisar da lib jQuery e do plugin s3Slider os exemplos [...]]]></description>
			<content:encoded><![CDATA[<p>Título grande não?<br />
tentei resumir, mas não deu&#8230;<br />
Eu fiz algo como esse muito toscamente, sem fade nem legenda, só para deixar como um tampão numa homepage que não tinha conteúdo&#8230; mas isso é com certeza beeemm melhor.</p>
<p><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/SlideshowSmooth-jQuery.jpg" alt="" /></p>
<p>A instalação é bastante simples, você vai precisar da lib <a href="http://docs.jquery.com/Downloading_jQuery" target="_blank">jQuery</a> e do plugin s3Slider<br />
os exemplos e arquivos para download você vai encontrar no site do desenvolvedor, o plugin é compatível com todos os browsers mais utilizados atualmente.</p>
<p>Link: <a href="http://www.serie3.info/s3slider/index.php" target="_blank">http://www.serie3.info/s3slider/index.php</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F11%2Fslideshow-jquery-com-transacoes-fade-e-legendas-flutuantes%2F&amp;title=SlideShow%20jQuery%20com%20transa%C3%A7%C3%B5es%20fade%20e%20legendas%20flutuantes" id="wpa2a_28"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/11/slideshow-jquery-com-transacoes-fade-e-legendas-flutuantes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Grid com ordenação e paginação animados</title>
		<link>http://www.ajaxianos.com.br/2008/10/grid-com-ordenacao-e-paginacao-animados/</link>
		<comments>http://www.ajaxianos.com.br/2008/10/grid-com-ordenacao-e-paginacao-animados/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 12:34:30 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[grid]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2008/10/grid-com-ordenacao-e-paginacao-animados/</guid>
		<description><![CDATA[Outro brinquedinho para o jQuery! Após a inclusão do script em sua página e uma porrada de CSS&#8230; a configuração desse grid fica bastante simples $(document).ready(function () { $('#TABLETOCONTROL').jTPS( {perPages:[5,12,15,50,'ALL']} ); }); O resultado é: Mais um cliente feliz! Link]]></description>
			<content:encoded><![CDATA[<p>Outro brinquedinho para o jQuery!<br />
Após a inclusão do script em sua página e uma porrada de CSS&#8230; a configuração desse grid fica bastante simples</p>
<pre name="code" class="js">$(document).ready(function () {
	<span style="padding-left: 10px;">$('#TABLETOCONTROL').jTPS( {perPages:[5,12,15,50,'ALL']} );</span>
});
</pre>
<p>O resultado é: Mais um cliente feliz!</p>
<p><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/GridAnimated.jpg" /></p>
<p><a href="http://www.overset.com/2008/08/30/animated-sortable-datagrid-jquery-plugin-jtps/">Link</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F10%2Fgrid-com-ordenacao-e-paginacao-animados%2F&amp;title=Grid%20com%20ordena%C3%A7%C3%A3o%20e%20pagina%C3%A7%C3%A3o%20animados" id="wpa2a_30"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/10/grid-com-ordenacao-e-paginacao-animados/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Posição do background com jQuery</title>
		<link>http://www.ajaxianos.com.br/2008/10/posicao-do-background-com-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2008/10/posicao-do-background-com-jquery/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 12:19:47 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[background]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2008/10/posicao-do-background-com-jquery/</guid>
		<description><![CDATA[Uma opção para quem gosta de menus &#8220;enfeitados&#8221; como é muito comum ver em site em flash.Com este plugin jQuery você pode controlar a posição do background de um elemento fazendo com que ele tenha um reação de animação, como deslocamento de um lado para outro, fade. Link]]></description>
			<content:encoded><![CDATA[<p>Uma opção para quem gosta de menus &#8220;enfeitados&#8221; como é muito comum ver em site em flash.<br />Com este plugin jQuery você pode controlar a posição do background de um elemento fazendo com que ele tenha um reação de animação, como deslocamento de um lado para outro, fade.</p>
<p><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/backposition.jpg" /><br /><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/backposition1.jpg" /><br /><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/backposition2.jpg" /></p>
<p><a href="http://snook.ca/technical/jquery-bg/">Link</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F10%2Fposicao-do-background-com-jquery%2F&amp;title=Posi%C3%A7%C3%A3o%20do%20background%20com%20jQuery" id="wpa2a_32"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/10/posicao-do-background-com-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coletânea, games em javascript</title>
		<link>http://www.ajaxianos.com.br/2008/10/coletanea-games-em-javascript/</link>
		<comments>http://www.ajaxianos.com.br/2008/10/coletanea-games-em-javascript/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 12:08:06 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[diversos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2008/10/coletanea-games-em-javascript/</guid>
		<description><![CDATA[Faz um tempo que estou com estas referências guardadas esperando ter um tempinho livre pra postar&#8230; como não estou tendo tempo livre, dei um tempo dos meus afazeres e aqui estou rsrs&#8230;Games em javascript são uma opção &#8220;lite&#8221; para se colocar em homepages, blog, etc&#8230;Segue alguns exemplos: Muito bacana e nostálgico, o código é bem [...]]]></description>
			<content:encoded><![CDATA[<p>Faz um tempo que estou com estas referências guardadas esperando ter um tempinho livre pra postar&#8230; como não estou tendo tempo livre, dei um tempo dos meus afazeres e aqui estou rsrs&#8230;<br />Games em javascript são uma opção &#8220;lite&#8221; para se colocar em homepages, blog, etc&#8230;<br />Segue alguns exemplos:</p>
<table border="0">
<tbody>
<tr>
<td><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/PacMan.jpg" /></td>
<td valign="top">Muito bacana e nostálgico, o código é bem poluído, mas imagina só o tanto de interação que você tem que controlar, o som provavelmente vem de um swf, é uma pratica muito comum.</p>
<p><a href="http://www.harryguillermo.com/Pacman.aspx">Link</a></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/Aliens.jpg" /></td>
<td valign="top">Vamos matar alguns Aliens!</p>
<p><a href="http://www.rebelideas.co.uk/proto/test/">Link</a></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/MarioKart.jpg" /></td>
<td valign="top">Mario Kart</p>
<p><a href="http://www.nihilogic.dk/labs/mariokart/">Link</a></td>
</tr>
</tbody>
</table>
<table border="0">
<tbody>
<tr>
<td><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/superMario.jpg" /></td>
<td valign="top">Super Mario</p>
<p><a href="http://www.nihilogic.dk/labs/mario/mario_large_music.htm">Link</a></td>
</tr>
</tbody>
</table>
<p>São trabalhos excelentes, você pode conferir varios outro exemplos, aqui <a href="http://blog.nihilogic.dk/search/label/games">http://blog.nihilogic.dk/search/label/games</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F10%2Fcoletanea-games-em-javascript%2F&amp;title=Colet%C3%A2nea%2C%20games%20em%20javascript" id="wpa2a_34"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/10/coletanea-games-em-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crop de imagem com jQuery</title>
		<link>http://www.ajaxianos.com.br/2008/09/crop-de-imagem-com-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2008/09/crop-de-imagem-com-jquery/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 16:09:57 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Crop]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=43</guid>
		<description><![CDATA[Este é mais um lindo exemplo de coisas possíveis de se fazer usando jQuery, um dos meus projetos para breve é fazer um editor de imagem com zoom, crop, rotate e flip&#8230; com certeza esse exemplo será utilizado. o jCrop é mais uma lib jQuery que veio de uma alma abençoada pra ajudar nossa vida! [...]]]></description>
			<content:encoded><![CDATA[<p>Este é mais um lindo exemplo de coisas possíveis de se fazer usando jQuery, um dos meus projetos para breve é fazer um editor de imagem com zoom, crop, rotate e flip&#8230; com certeza esse exemplo será utilizado.<br />
<img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/JcropImageCroppingDemos.jpg" alt="" /><br />
o jCrop é mais uma lib jQuery que veio de uma alma abençoada pra ajudar nossa vida!<br />
é muito simples de instalar e configurar e possui vários recursos muito úteis como &#8220;thumbnail&#8221; que te mostra separado exatamante a area que será recortada, os &#8220;Event Handlers&#8221; acionam no onChange em tempo real as informações de coordenadas do crop, o &#8220;Animation&#8221; também é útil para deixar tamanhos e posições pré-programadas para corte, e além disso é muito simples mudar o estilo do cropper, você pode mudar a cor da area e dos cantos do handle.</p>
<p>Exemplo:</p>
<pre name="code" class="js">jQuery(function() {
		jQuery('#jcrop_target').Jcrop({
			setSelect: [ 20, 130, 480, 230 ],
			addClass: 'custom',
			bgColor: 'yellow',
			bgOpacity: .8,
			sideHandles: false
		});
	});</pre>
<p>
CSS Customizado:</p>
<pre name="code" class="js">.custom .jcrop-vline, .custom .jcrop-hline {
	background: yellow;
}
.custom .jcrop-handle {
	border-color: black;
	background-color: #C7BB00;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
}</pre>
<p>Agora que você ja ficou curioso, segue aí o link <a href="http://deepliquid.com/projects/Jcrop/demos.php?demo=handler">http://deepliquid.com/projects/Jcrop/demos.php?demo=handler</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F09%2Fcrop-de-imagem-com-jquery%2F&amp;title=Crop%20de%20imagem%20com%20jQuery" id="wpa2a_36"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/09/crop-de-imagem-com-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Grid completo com jQuery</title>
		<link>http://www.ajaxianos.com.br/2008/07/grid-completo-com-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2008/07/grid-completo-com-jquery/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 15:51:28 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2008/07/grid-completo-com-jquery/</guid>
		<description><![CDATA[Vai aí mais uma dica pra quem procura uma solução de Grid, o Flexigrid feito por &#8220;Paulo Mariñas&#8221; além da ordenação de dados, ainda fornece a possibilidade de troca de colunas, adição/remoção de colunas, busca, paginação, resize e interação com o servidor.Coloquem nos seus bookmarks http://webplicity.net/flexigrid/]]></description>
			<content:encoded><![CDATA[<p>Vai aí mais uma dica pra quem procura uma solução de Grid, o Flexigrid feito por &#8220;Paulo Mariñas&#8221; além da ordenação de dados, ainda fornece a possibilidade de troca de colunas, adição/remoção de colunas, busca, paginação, resize e interação com o servidor.<br />Coloquem nos seus bookmarks <img src='http://www.ajaxianos.com.br/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img style="max-width: 800px;" src="http://www.ajaxianos.com.br/arquivos/FlexGrid.jpg" /></p>
<p><a target="_blank" href="http://webplicity.net/flexigrid/">http://webplicity.net/flexigrid/</a></p>
<p></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F07%2Fgrid-completo-com-jquery%2F&amp;title=Grid%20completo%20com%20jQuery" id="wpa2a_38"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/07/grid-completo-com-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Growl agora também em jQuery</title>
		<link>http://www.ajaxianos.com.br/2008/07/growl-agora-tambem-em-jquery/</link>
		<comments>http://www.ajaxianos.com.br/2008/07/growl-agora-tambem-em-jquery/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 13:08:07 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2008/07/growl-agora-tambem-em-jquery/</guid>
		<description><![CDATA[Pra quem ja é familiarizado com o Growl, que é um framework utilizado nos Macs OSX, agora ja pode encontrar o plugin para o jQuery que fornece mensagens tão &#8220;simpáticas&#8221; quanto!Vale a pena conferir, com certeza será muito útil! Aí vai a dica: http://stanlemon.net/projects/jgrowl.html]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ajaxianos.com.br/arquivos/growlicon.png" align="left" />Pra quem ja é familiarizado com o Growl, que é um framework utilizado nos Macs OSX, agora ja pode encontrar o plugin para o jQuery que fornece mensagens tão &#8220;simpáticas&#8221; quanto!<br />Vale a pena conferir, com certeza será muito útil!</p>
<p>Aí vai a dica: <a target="_blank" href="http://stanlemon.net/projects/jgrowl.html">http://stanlemon.net/projects/jgrowl.html</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F07%2Fgrowl-agora-tambem-em-jquery%2F&amp;title=Growl%20agora%20tamb%C3%A9m%20em%20jQuery" id="wpa2a_40"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/07/growl-agora-tambem-em-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coloque ordenação em suas tabelas</title>
		<link>http://www.ajaxianos.com.br/2008/06/coloque-ordenacao-em-suas-tabelas/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/coloque-ordenacao-em-suas-tabelas/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 10:40:34 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[diversos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ordenação]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2008/06/coloque-ordenacao-em-suas-tabelas/</guid>
		<description><![CDATA[Acho que essa é uma boa dica de código para uso cotidiano em suas aplicações Ajax, este é um script que torna muito simples o trabalho de fazer ordenação de dados em uma lista de produtos por exemplo. O script feito pelo Stuart Langridge faz este trabalho de uma forma muito simples, é possível ordenar [...]]]></description>
			<content:encoded><![CDATA[<p>Acho que essa é uma boa dica de código para uso cotidiano em suas aplicações Ajax, este é um script que torna muito simples o trabalho de fazer ordenação de dados em uma lista de produtos por exemplo.<br />
O script feito pelo Stuart Langridge faz este trabalho de uma forma muito simples, é possível ordenar texto, datas, números e moeda.<br />
Se você esta precisando ou é como eu que sempre tem uma boa dica no bookmark&#8230; aí vai o link do garoto!</p>
<p><a href="http://www.kryogenix.org/code/browser/sorttable/" target="_blank">http://www.kryogenix.org/code/browser/sorttable/</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Fcoloque-ordenacao-em-suas-tabelas%2F&amp;title=Coloque%20ordena%C3%A7%C3%A3o%20em%20suas%20tabelas" id="wpa2a_42"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/coloque-ordenacao-em-suas-tabelas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Busca de CEP 100% Ajax</title>
		<link>http://www.ajaxianos.com.br/2008/06/busca-de-cep-100-ajax/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/busca-de-cep-100-ajax/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 21:52:05 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[busca]]></category>
		<category><![CDATA[cep]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=25</guid>
		<description><![CDATA[Algum tempo atrás eu publiquei para o iMasters uma matéria sobre busca de endereço pelo CEP, no exemplo eu usei um pouco de jQuery e ColdFusion, mas para este exemplo eu vou utilizar 100% ajax, graças ao retorno fornecido pelo site http://cep.republicavirtual.com.br/ Para este exemplo, vamos utilizar somente a lib jQuery Vou usar um formulário [...]]]></description>
			<content:encoded><![CDATA[<p>Algum tempo atrás eu publiquei para o <a href="http://imasters.uol.com.br/artigo/8794/coldfusion/procura_por_cep_com_cfm_e_ajax/" target="_blank">iMasters uma matéria sobre busca de endereço pelo CEP</a>, no exemplo eu usei um pouco de jQuery e ColdFusion, mas para este exemplo eu vou utilizar 100% ajax, graças ao retorno fornecido pelo  site <a href="http://cep.republicavirtual.com.br/" target="_blank">http://cep.republicavirtual.com.br/</a><br />
Para este exemplo, vamos utilizar somente a lib jQuery<br />
Vou usar um formulário simples para exemplo, com somente os campos que preciso:<br />
O formulário é simples, a única coisa diferente é o atributo &#8220;onBlur&#8221; no campo &#8220;cep&#8221;<br />
    o onBlur executa um comando javascript assim que o campo perde o fóco, neste caso eu chamo a função javascript &#8220;getEndereco()&#8221;</p>
<pre name="code" class="xml">&lt;form&gt;
&lt;fieldset&gt;
  &lt;legend&gt;Formulário de exemplo&lt;/legend&gt;
  &lt;label for="cep"&gt;CEP:&lt;/label&gt;
&lt;input id="cep" maxlength="8" name="cep" size="9"  onBlur="getEndereco()"/&gt;

  &lt;label for="rua"&gt;Logadouro:&lt;/label&gt;
&lt;input id="rua" name="rua" size="50" /&gt;

  &lt;label for="bairro"&gt;Bairro:&lt;/label&gt;
&lt;input id="bairro" name="bairro" size="30" /&gt;

  &lt;label for="cidade"&gt;Cidade:&lt;/label&gt;
&lt;input id="cidade" name="cidade" /&gt;

  &lt;label for="estado"&gt;Estado&lt;/label&gt;
&lt;input id="estado" maxlength="2" name="estado" size="2" /&gt;

  &lt;/fieldset&gt;
&lt;/form&gt;
</pre>
<p>Não esquecendo de fazer o include da lib do jQuery<br />
Este será o Script</p>
<pre name="code" class="js">	// Função única que fará a transação
	function getEndereco() {
			// Se o campo CEP não estiver vazio
			if($.trim($("#cep").val()) != ""){
				/*
					Para conectar no serviço e executar o json, precisamos usar a função
					getScript do jQuery, o getScript e o dataType:"jsonp" conseguem fazer o cross-domain, os outros
					dataTypes não possibilitam esta interação entre domínios diferentes
					Estou chamando a url do serviço passando o parâmetro "formato=javascript" e o CEP digitado no formulário
					http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&amp;cep="+$("#cep").val()
				*/
				$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&amp;cep="+$("#cep").val(), function(){
					// o getScript dá um eval no script, então é só ler!
					//Se o resultado for igual a 1
			  		if(resultadoCEP["resultado"]){
						// troca o valor dos elementos
						$("#rua").val(unescape(resultadoCEP["tipo_logradouro"])+": "+unescape(resultadoCEP["logradouro"]));
						$("#bairro").val(unescape(resultadoCEP["bairro"]));
						$("#cidade").val(unescape(resultadoCEP["cidade"]));
						$("#estado").val(unescape(resultadoCEP["uf"]));
					}else{
						alert("Endereço não encontrado");
					}
				});
			}
	}</pre>
<p>Os arquivos deste exemplo você pode baixar aqui <a href="http://www.ajaxianos.com.br/arquivos/cepSomentejQuery.zip">http://www.ajaxianos.com.br/arquivos/cepSomentejQuery.zip</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Fbusca-de-cep-100-ajax%2F&amp;title=Busca%20de%20CEP%20100%25%20Ajax" id="wpa2a_44"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/busca-de-cep-100-ajax/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
		</item>
		<item>
		<title>Preload de imagens do CSS</title>
		<link>http://www.ajaxianos.com.br/2008/06/preload-de-imagens-do-css/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/preload-de-imagens-do-css/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 14:09:32 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/2008/06/preload-de-imagens-do-css/</guid>
		<description><![CDATA[O Scott Jehl, fez um plugin pra jQuery que resolve um problema chato na maioria dos layouts tableless que usam os recursos de &#8220;hover&#8221; para trocar imagens, este plugin faz uma varredura nos arquivos CSS embedados na página, e busca dentro deles todas as referencias de imagens e faz o pré-carregamento delas, assim, quando o [...]]]></description>
			<content:encoded><![CDATA[<p>O Scott Jehl, fez um plugin pra jQuery que resolve um problema chato na maioria dos layouts tableless que usam os recursos de &#8220;hover&#8221; para trocar imagens, este plugin faz uma varredura nos arquivos CSS embedados na página, e busca dentro deles todas as referencias de imagens e faz o pré-carregamento delas, assim, quando o usuário passa o mouse sobre algum item do menu(por exemplo) a imagem da ação &#8220;hover&#8221; do CSS é exibida imediatamente.<br />
É mais uma das coisas que eu penso&#8230; &#8220;Como não pensei nisso antes?&#8221;<br />
Na verdade, esta é uma versão mais atual de um script que ele ja havia escrito, mas o anterior carregava somente as imagens de um único diretório, o que impedia que o script carregasse as imagens de outros diretórios ou até mesmo de outros sites, mas esta atualização permite fazer o preload das imagens, não importando onde elas estejam.</p>
<p>Este é o código do plugin:<br />
<a href="http://www.ajaxianos.com.br/arquivos/preloadCssImages.jQuery_v2.js" target="_blank">http://www.ajaxianos.com.br/arquivos/preloadCssImages.jQuery_v2.js</a></p>
<pre name="code" class="js">
/**
 * --------------------------------------------------------------------
 * jQuery-Plugin "preloadCssImages"
 * by Scott Jehl, scott@filamentgroup.com
 * http://www.filamentgroup.com
 * reference article: http://www.filamentgroup.com/lab/automated_image_preloading/
 * demo page: http://www.filamentgroup.com/examples/preloadImages/
 *
 * Copyright ©2008 Filament Group, Inc
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 *
 * Version: 2.0, 06.04.2008
 * Changelog:
 * 	02.20.2008 initial Version 1.0
 *  06.04.2008 Version 2.0 : removed need for any passed arguments. Images load from any and all directories.
 * --------------------------------------------------------------------
 */
jQuery.preloadCssImages = function(){
	var allImgs = [];//new array for all the image urls
	var k = 0; //iterator for adding images
	var sheets = document.styleSheets;//array of stylesheets

	for(var i = 0; i<sheets.length; i++){//loop through each stylesheet
		var cssPile = '';//create large string of all css rules in sheet
		var csshref = (sheets[ i ].href) ? sheets[ i ].href : 'window.location.href';
		var baseURLarr = csshref.split('/');//split href at / to make array
		baseURLarr.pop();//remove file path from baseURL array
		var baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
		if(baseURL!="") baseURL+='/'; //tack on a / if needed
		if(document.styleSheets[ i ].cssRules){//w3
			var thisSheetRules = document.styleSheets[ i ].cssRules; //w3
			for(var j = 0; j
<thisSheetRules.length; j++){
				cssPile+= thisSheetRules[ j ].cssText;
			}
		}
		else {
			cssPile+= document.styleSheets[ i ].cssText;
		}

		//parse cssPile for image urls and load them into the DOM
		var imgUrls = cssPile.match(/[^\(]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename"
		if(imgUrls != null &#038;&#038; imgUrls.length>0 &#038;&#038; imgUrls != ''){//loop array
			var arr = jQuery.makeArray(imgUrls);//create array from regex obj
			jQuery(arr).each(function(){
				allImgs[ k ] = new Image(); //new img obj
				allImgs[ k ].src = (this[0] == '/' || this.match('http://')) ? this : baseURL + this;	//set src either absolute or rel to css dir
				k++;
			});
		}
	}//loop
	return allImgs;
}
</pre>
<p>Para usar, além de ter a Lib jQuery na sua página(óbvio), basta rodar este comando:</p>
<pre name="code" class="js">$.preloadCssImages();</pre>
<p>Eu particularmente executaria depois que a página estivesse inteiramente carregada, usando a função &#8220;ready&#8221; do jQuery:</p>
<pre name="code" class="js">$(document).ready(function(){$.preloadCssImages();});</pre>
<p>Na página do Scott você pode ver um exemplo dessa belezinha funcionando<br />
<a href="http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/" target="_blank">http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Fpreload-de-imagens-do-css%2F&amp;title=Preload%20de%20imagens%20do%20CSS" id="wpa2a_46"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/preload-de-imagens-do-css/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Barra de progresso com prototype</title>
		<link>http://www.ajaxianos.com.br/2008/06/barra-de-progresso-com-prototype/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/barra-de-progresso-com-prototype/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 15:41:07 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[progressbar]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=21</guid>
		<description><![CDATA[A WebAppers fez um plugin muito bom para o Prototype, trata-se de uma barra de progresso &#8220;estilizada&#8221;, eu ja costumo usar barra de progresso para alguns processos demorados que tratam de um grande volume de dados como, Importação de usuários, Re-publicação de matérias, Geração de Massa ou Backup, para tudo o que eu consigo separar [...]]]></description>
			<content:encoded><![CDATA[<p>A WebAppers fez um plugin muito bom para o Prototype, trata-se de uma barra de progresso &#8220;estilizada&#8221;, eu ja costumo usar barra de progresso para alguns processos demorados que tratam de um grande volume de dados como, Importação de usuários, Re-publicação de matérias, Geração de Massa ou Backup, para tudo o que eu consigo separar e mensurar a execução do processo! Mas ainda não tinha visto uma tão &#8220;bonitinha&#8221;, e como todos sabemos, á a aparência do seu sistema que vende.</p>
<p>Vale a pena conferir</p>
<p><a title="Javascript Progress / Percentage Bar with CSS by WebAppers" href="http://www.webappers.com/progressBar/"><br />
<img src="http://www.ajaxianos.com.br/arquivos/WebAppers.png" alt="" border="0" /></a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Fbarra-de-progresso-com-prototype%2F&amp;title=Barra%20de%20progresso%20com%20prototype" id="wpa2a_48"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/barra-de-progresso-com-prototype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Convertendo meus links para ajax</title>
		<link>http://www.ajaxianos.com.br/2008/06/convertendo-meus-links-para-ajax/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/convertendo-meus-links-para-ajax/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 19:23:39 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=16</guid>
		<description><![CDATA[Um outro recurso que costumo aplicar em meus projetos é a conversão dos links para ajax, como isso funciona afinal? pra que raios isso serve? o que melhora? não posso ja fazer o site inteiro em ajax? Bom, vou responder estas perguntas durante este exemplo! 1º Por que não é recomendado fazer o site 100% [...]]]></description>
			<content:encoded><![CDATA[<p>Um outro recurso que costumo aplicar em meus projetos é a conversão dos links para ajax, como isso funciona afinal? pra que raios isso serve? o que melhora? não posso ja fazer o site inteiro em ajax?</p>
<p>Bom, vou responder estas perguntas durante este exemplo!<br />
1º Por que não é recomendado fazer o site 100% em ajax?<br />
- Simples, porque os robôs de busca como o Google, não processam javascript, então se você quiser ter o seu conteúdo indexado por ele, terá que possibilitar sua leitura sem o uso de javascript</p>
<p>2º O que melhora?<br />
- Quando seu site é carregado pela primeira vez, todo o seu template é carregado, e a cada clique, lá vai o browser carregar tudo novamente&#8230; isso gera uma sobrecarga desnecessária, usando o Ajax para carregar somente o conteúdo do seu site, além de mais rápido, você tem um aproveitamento de performance e consumo de tráfego no servidor, assim, todo mundo sai ganhando!</p>
<p>3º Como isso funciona?<br />
- Para que o script funcione corretamente, o seu site tem que ter uma estrutura preparada para isso, ou seja, tem que existir algum parâmetro onde você possa desabilitar o layout do lado do servidor, assim, quando você fizer a requisição via ajax, somente o conteúdo será retornado.</p>
<p>Ok, agora que temos as explicações e o conceito, vamos codificar :p<br />
Vou utilizar somente a lib jquery</p>
<pre name="code" class="js">// Converte todos os links para Ajax
function convert2Ajax(){
// Busco na pagina, todas as tags "a", e para cada uma encontrada eu faço uma verificação
	$("a").each(
		function(){
			// Vejo os primeiros 6 caracteres do conteúdo do atributo href
			var linkType = $(this).attr("href").substring(0,6);
			// Se o link não for de javascript ou mailto
			if(linkType != "javasc" &&amp; linkType != "mailto"){
				// Se não existe o atributo "target"
				if(!$(this).attr("target")){
				/*
				Aqui eu faço uma graça, mudo o status da pagina para a descrição/texto do link
				*/
				$(this).mouseover(function(){
						   window.status = $.trim($(this).html());
						   return (true);
							   }).mouseout(function(){
							   window.status = $.trim($(this).html());
							   return (true);
							   });
				// Finalmente troco o conteúdo do href pelo comando javascript que vai chamar a função ajax
				// Antes eu colocava javascript:void(0); mas depois que adquiri um MacBook percebi
				// que não funcionava bem no safari, então passei a chamar assim mesmo!
				$(this).attr("href","javascript:carregaConteudo('"+$(this).attr("href")+"&#038;Ajax=true');");
			}
		}
	}
)}
</pre>
<p>Analisando o código, você pode verificar que estou acrescentando o parâmetro &#8220;Ajax=true&#8221; à url na entrada de dados da função &#8220;carregaConteudo&#8221;, no servidor, este parmetro inibe o layout do site, trazendo somente o conteúdo.</p>
<p>A função que carrega o conteúdo é extremamante simples</p>
<pre name="code" class="js">function carregaConteudo(url){
	$.ajax({
		url: url,
		data:{},
		dataType:"html",
		beforeSend: function(){
			// Antes de enviar a requisição, exibo a mensagem "Carregando"
			$("#loading").show();
		},
		success: function(r){
			// Se ocorrer tudo bem, insiro o conteúdo retornado na div #contentRight
			$("#contentRight").html(r);
			// Após o carregamento, chamo novamente a função convert2Ajax para o caso
			// de ainda existir algum link no novo conteúdo
			convert2Ajax();
		},
		complete:function(){
			// Depois de concluído o processo, eu escondo a mensagem "Carregando"
			$('#loading').hide();
		},
		error: function(r){
			// Se ocorrer algum erro, também escondo a mensagem
			$('#loading').hide();
		}
	});
}
</pre>
<p>Para iniciar o processo no site, use o seguinte script, atenção, é extremamente complicado!</p>
<pre name="code" class="js">//Quando a página estiver pronta/carregada...
$(document).ready(
	function(){
		// Chama a função convert2Ajax
		convert2Ajax();
	}
);
</pre>
<p>É só isso, você pode conferir este exemplo em uso no site <a href="http://www.oapce.com.br" target="_blank">www.oapce.com.br</a>, experimente desabilitar o javascript do navegador para comprovar o funcionamento nas duas situações!</p>
<p>Valeu!</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Fconvertendo-meus-links-para-ajax%2F&amp;title=Convertendo%20meus%20links%20para%20ajax" id="wpa2a_50"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/convertendo-meus-links-para-ajax/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Dump Javascript</title>
		<link>http://www.ajaxianos.com.br/2008/06/dump-javascript/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/dump-javascript/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 00:16:52 +0000</pubDate>
		<dc:creator>Alexandre</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=15</guid>
		<description><![CDATA[Esta é uma função muito simples, mas que pode fazer uma grande diferença na hora de começar a desenvolver com javascript. Conseguir identificar as propriedades de um objeto é importante principalmente para desenvolvimentos com código coletivo ou que utilizam muitos frameworks. function jsDump( objeto, recursividade ) { document.writeln(&#34;&#60;ul&#62;&#34;) for ( prop in objeto ) { [...]]]></description>
			<content:encoded><![CDATA[<p>Esta é uma função muito simples, mas que pode fazer uma grande diferença na hora de começar a desenvolver com javascript.<br />
Conseguir identificar as propriedades de um objeto é importante principalmente para desenvolvimentos com código coletivo ou que utilizam muitos frameworks.</p>
<pre class="js" name="code">
function jsDump( objeto, recursividade )
{
    document.writeln(&quot;&lt;ul&gt;&quot;)
    for ( prop in objeto )
    {
        var tipo = typeof objeto[prop];
        var valor = objeto[prop]+&quot;&quot;;
        //Eliminando o conteudo das funcoes
        valor = valor.replace(/\{[^\{]*\}/g,&quot;&quot;);
        document.writeln(&quot;&lt;li&gt; (&quot;+tipo+&quot;) &quot;+prop+&quot; =&gt;&quot;+valor+&quot;&lt;\/li&gt;&quot;);

        // implementando a recursividade
        if (recursividade &gt; 0 &amp;&amp; tipo ==  &quot;object&quot;)
        {
            jsDump(objeto[prop],recursividade-1);
        }
    }
    document.writeln(&quot;&lt;\/ul&gt;&quot;);
}
</pre>
<p>Uma outra alternativa, principalmente para quem gosta de Coldfusion, é este outro <a rel="external" href="http://www.netgrow.com.au/files/javascript_dump.cfm">método</a> baseado na tag <cfdump> do ColdFusion.</cfdump></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Fdump-javascript%2F&amp;title=Dump%20Javascript" id="wpa2a_52"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/dump-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Verificando se a senha é segura</title>
		<link>http://www.ajaxianos.com.br/2008/06/verificando-se-a-senha-e-segura/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/verificando-se-a-senha-e-segura/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 20:02:34 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Seguran�a]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=13</guid>
		<description><![CDATA[No site hakc.net você pode encontrar um exemplo muito bom de um script que diz se sua senha é segura É uma boa pra quem quer ajudar os usuários a não usar senhas do tipo &#8220;123&#8243; ou a data de aniversário :p]]></description>
			<content:encoded><![CDATA[<p>No site hakc.net você pode encontrar um exemplo muito bom de um script que diz se sua senha é segura<a href="http://www.hakc.net/passjax-demo/" target="_blank"><img src="http://www.ajaxianos.com.br/arquivos/PasswordStrength.jpg" alt="" /></a></p>
<p>É uma boa pra quem quer ajudar os usuários a não usar senhas do tipo &#8220;123&#8243; ou a data de aniversário :p</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Fverificando-se-a-senha-e-segura%2F&amp;title=Verificando%20se%20a%20senha%20%C3%A9%20segura" id="wpa2a_54"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/verificando-se-a-senha-e-segura/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Focando o primeiro elemento no conteúdo da página</title>
		<link>http://www.ajaxianos.com.br/2008/06/focando-o-primeiro-elemento-no-conteudo-da-pagina/</link>
		<comments>http://www.ajaxianos.com.br/2008/06/focando-o-primeiro-elemento-no-conteudo-da-pagina/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 01:24:38 +0000</pubDate>
		<dc:creator>Wender Lima</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[acessibilidade]]></category>

		<guid isPermaLink="false">http://www.ajaxianos.com.br/?p=8</guid>
		<description><![CDATA[Eu reparei uma dificuldade muito grande do meu irmão ao tentar acessar o conteúdo da administração de seu site, usando software de leitura de tela( ja que ele é deficiente visual), os itens do menu possuem atalho, basta ele pressionar ALT + M e o foco vai para o primeiro item do menu, mas para [...]]]></description>
			<content:encoded><![CDATA[<p>Eu reparei uma dificuldade muito grande do meu irmão ao tentar acessar o conteúdo da administração de seu site, usando software de leitura de tela( ja que ele é deficiente visual), os itens do menu possuem atalho, basta ele pressionar ALT + M e o foco vai para o primeiro item do menu, mas para chegar até o conteúdo das páginas, ele precisa passar por todos os itens do menu antes, para resolver isso eu criei um script muito simples usando a lib jQuery</p>
<pre name="code" class="js">
// assim que a página é carregada
$(document).ready(function(){
	// Verifico se existe algum link
	if($("#contentAdm a").length > 0){
		// se existir, eu dou foco nele e crio um atalho ALT + C
		// para ir direto para o elemento
		$("#contentAdm a").get(0).focus();
		$("#contentAdm a").get(0).attr("accesskey","C");
	}else{
		// Caso contrario, faço o mesmo para elementos Input
		if($("#contentAdm input").length > 0){
			$("#contentAdm input").get(0).focus();
			$("#contentAdm input").get(0).attr("accesskey","C");
		};
	};
});
</pre>
<p>Espero que seja útil pra você também</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.ajaxianos.com.br%2F2008%2F06%2Ffocando-o-primeiro-elemento-no-conteudo-da-pagina%2F&amp;title=Focando%20o%20primeiro%20elemento%20no%20conte%C3%BAdo%20da%20p%C3%A1gina" id="wpa2a_56"><img src="http://www.ajaxianos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxianos.com.br/2008/06/focando-o-primeiro-elemento-no-conteudo-da-pagina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

