<?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>Artigos sobre jQuery, XHTML, CSS e PHP &#124; Julio Bitencourt &#187; jQuery</title>
	<atom:link href="http://www.juliobitencourt.com/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juliobitencourt.com</link>
	<description>Artigos e tutoriais sobre desenvolvimento web, jQuery, HTML, PHP, CSS e outras tecnologias.</description>
	<lastBuildDate>Sat, 17 Jul 2010 18:18:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>10 dicas para escrever um bom código jQuery</title>
		<link>http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 17:19:35 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Produtividade]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=131</guid>
		<description><![CDATA[Recebi este artigo via twitter com 10 dicas muito legais para melhorar o código escrito em jQuery.
Achei interessante criar uma resumo em português com estas 10 dicas. A maioria delas eu passei a utilizar em meus projetos!
1. Use sempre o $(document).ready()
Coloque todo seu código dentro desta função. Isto irá fazer com que seu código jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>Recebi este <a title="Link para o artigo original. Em inglês" href="http://www.myinkblog.com/articles/10-tips-for-writing-better-jquery-code/comment-page-1/#comment-29373" target="_blank">artigo</a> via twitter com 10 dicas muito legais para melhorar o código escrito em jQuery.</p>
<p>Achei interessante criar uma resumo em português com estas 10 dicas. A maioria delas eu passei a utilizar em meus projetos!<span id="more-131"></span></p>
<h3>1. Use sempre o $(document).ready()</h3>
<p>Coloque todo seu código dentro desta função. Isto irá fazer com que seu código jQuery seja executado assim que o DOM for carregado mas antes do conteúdo <strong>(veja a dica 2)</strong>. Isto permite que você atribua funções aos eventos dos elementos. Evitando o uso de onload, onclick entre outros. Ou seja, você não irá interferir na marcação HTML com o javascript.</p>
<h3>2. Use o $(window).load ()</h3>
<p>Embora a maioria dos exemplos sejam colocados dentro de $(document).ready() é melhor evitar colocar tudo dentro dele.</p>
<p>$(document).ready() é muito útil. Mas ele ocorre durante a renderização do documento. Funcionalidades supérfluas como scrolling e drag and drop, etc podem ser colocadas dentro de $(window).load() que é executada após o download completo da página.</p>
<p>A sintaxe é a mesma do $(document).ready()</p>
<h3>3. Carregue somente o que precisa</h3>
<p>Nós programadores somos tentados a escrever todo o código javascript em um mesmo local e usá-lo em todas as páginas, seja em forma de arquivo, ou repetindo o código no velho Ctrl C + Ctrl V. O jQuery leva tempo para vasculhar todo o documento em busca dos elementos. Isto pode causar uma queda no rendimento da aplicação.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'home'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #006600; font-style: italic;">// Código usado na home</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'blog'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #006600; font-style: italic;">// Código usado no blog</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>4. Saiba o que é o método data() e use-o</h3>
<p>Para guardar e utilizar alguns dados você pode utilizar o método data da jQuery.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   <span style="color: #006600; font-style: italic;">// Define o valor</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.myselector'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myfavcolor'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'orange'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #006600; font-style: italic;">// E então. Retorna o valor</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myselector'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myfavcolor'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Eu escrevi um artigo sobre o método data que você pode ver <a href="http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/">clicando aqui</a></p>
<h3>5. Seletores internos da jQuery</h3>
<p>Conhecer os seletores CSS ajuda muito na hora de escrever código jQuery. Mas os seletores internos também ajudam bastante. Veja os seletores aqui <a href="http://docs.jquery.com/Selectors">http://docs.jquery.com/Selectors</a>.<br />
Por exemplo</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div:contains('hello')&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background-color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#cc0000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>O código acima deixa vermelha a cor de background de todos os elementos div que contenham a palavra &#8220;hello&#8221;. Você também pode usar</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input:password'</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>para selecionar todos os campos do tipo password</p>
<h3>6. Crie flags com classes</h3>
<p>Você pode usar &#8220;flags&#8221; para monitorar o que o usuário está fazendo, ou então para verificar quando determinada ação foi feita ou não. A função addClass serve para adicionar uma classe em um elemento. Desta forma você pode verificar posteriormente a existência da classe com a função hasClass</p>
<h3>7. Não chame o mesmo seletor várias vezes</h3>
<p>Ao invés de fazer isto</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#000000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'paragraph'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeTo</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Faça isto</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $p.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#000000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $p.<span style="color: #660066;">text</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $p.<span style="color: #660066;">addClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'paragraph'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $p.<span style="color: #660066;">fadeTo</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Desta forma se armazena o objeto retornado pelo seletor em uma variável para posterior reuso.</p>
<h3>8. Encadeie (quase) tudo</h3>
<p>O encadeamento é muito útil. O mesmo código do exemplo anterior por ser escrito assim</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#000000'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'paragraph'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeTo</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Tenha cuidado ao utilizar o encadeamento pois pode causar certa lentidão.</p>
<h3>9. Utilize o toggleClass</h3>
<p>Você pode alternar classes de elementos para selecionar seu comportamento. Se sua classe .hidden não mostra nenhum item você pode os tornar visíveis com</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hidden'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>10. Guarde os resultados</h3>
<p>Quando estiver lidando com funções, você pode querer guardar alguns resultados para uso posterior. Uma solução possível é guardar os resultados em objetos com escopo global.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   <span style="color: #006600; font-style: italic;">// use the window object for instance</span>
   window.$results <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
   one <span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
   two <span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span>
   <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #006600; font-style: italic;">// this is the function, perhaps ran more than once</span>
   <span style="color: #003366; font-weight: bold;">function</span> getResults <span style="color: #009900;">&#40;</span>first<span style="color: #339933;">,</span> second<span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
   $results.<span style="color: #660066;">one</span> <span style="color: #339933;">=</span> first<span style="color: #339933;">;</span>
   $results.<span style="color: #660066;">two</span> <span style="color: #339933;">=</span> second<span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #006600; font-style: italic;">// run function</span>
   getResults <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'li.blue'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.red));
   $results.one.hasClass ('</span>blue<span style="color: #3366CC;">'); // true
   $results.two.hasClass ('</span>blue<span style="color: #3366CC;">'); // false
&nbsp;
   // run again
   getResults ($('</span>li.<span style="color: #660066;">red</span><span style="color: #3366CC;">'), $('</span>a.<span style="color: #660066;">blue</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $results.<span style="color: #660066;">one</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'blue'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// false</span>
   $results.<span style="color: #660066;">two</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'blue'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// true</span></pre></td></tr></table></div>

<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/05/corrigir-png-transparente-no-ie-6-com-jquery/' title='Corrigir PNG transparente no IE 6 com jQuery'>Corrigir PNG transparente no IE 6 com jQuery</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "framework";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saiba se uma requisição foi feita via AJAX no PHP</title>
		<link>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/</link>
		<comments>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 02:26:05 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[progressive enhancement]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=203</guid>
		<description><![CDATA[Você já ouviu falar em Progressive Enhancement? Não?
Basicamente, esta técnica consiste em dar aos usuários o acesso básico ao conteúdo. Com ênfase na acessibilidade.
A técnica ajax hoje é largamente utilizada. Por proporcionar uma ótima experiência de uso e aumentar a velocidade de páginas e aplicações web.
Mas ajax utiliza javascript, mais precisamente o XMLHttpRequest para acessar [...]]]></description>
			<content:encoded><![CDATA[<p>Você já ouviu falar em <a title="Definição de Progressive Enhancement na Wikipedia" href="http://en.wikipedia.org/wiki/Progressive_enhancement" target="_blank">Progressive Enhancement</a>? Não?</p>
<p>Basicamente, esta técnica consiste em dar aos usuários o acesso básico ao conteúdo. Com ênfase na acessibilidade.<span id="more-203"></span></p>
<p>A técnica <a class="bbli" href="http://sledge.boo-box.com/list/page/YWpheF8jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-48">ajax<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> hoje é largamente utilizada. Por proporcionar uma ótima experiência de uso e aumentar a velocidade de páginas e aplicações web.</p>
<p>Mas ajax utiliza <a class="bbli" href="http://sledge.boo-box.com/list/page/amF2YXNjcmlwdF8jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-56">javascript<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, mais precisamente o XMLHttpRequest para acessar conteúdo de forma assíncrona. Com ajax você pode, por exemplo, criar um formulário de cadastro que não dá refresh na página no ato do submit. Ótimo né? Também acho!</p>
<p>Mas e se o usuário estiver navegando com o javascript desabilitado? Ele não vai poder se cadastrar no seu site?</p>
<p>Para os programadores <a class="bbli" href="http://sledge.boo-box.com/list/page/UEhQXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-44">PHP<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, existe uma técnica para que definir se a requisição foi feita via ajax ou não. Desta forma, você pode dar aos usuários que estão utilizando javascript toda experiência de uso proporcionada pelo ajax. Sem deixar de lado os usuários que não contam com esta possibilidade.</p>
<p>Basta utilizar a variável HTTP chamada HTTP_X_REQUESTED_WITH.</p>
<p>Exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_REQUESTED_WITH'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_REQUESTED_WITH'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'xmlhttprequest'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">...</span> É uma requisição AJAX <span style="color: #339933;">...</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">...</span> Não é uma requisição AJAX <span style="color: #339933;">...</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Este artigo foi baseado no original, em inglês, <a href="http://www.electrictoolbox.com/how-to-tell-ajax-request-php/">http://www.electrictoolbox.com/how-to-tell-ajax-request-php/</a><br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/' title='Gerar download de conteúdo no PHP'>Gerar download de conteúdo no PHP</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "acessibilidade";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Método data() da jQuery</title>
		<link>http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 02:42:48 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[dom]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=185</guid>
		<description><![CDATA[Este é um método que eu vejo pouca gente utilizando
Com ele você pode armazenar informações no formato chave/valor nos elementos do DOM.
Veja a sintaxe:
Define um valor para a chave name
data( name, value)
Retorna o valor da chave name
data( name)
Exemplo:
Digamos que eu queira controlar a exibição de um elemento. Neste caso um div com uma mensagem.
Veja o [...]]]></description>
			<content:encoded><![CDATA[<p>Este é um método que eu vejo pouca gente utilizando</p>
<p>Com ele você pode armazenar informações no formato chave/valor nos elementos do DOM.<span id="more-185"></span></p>
<p>Veja a sintaxe:</p>
<p>Define um valor para a chave <span style="color: #0000ff;">name</span><br />
<span style="color: #0000ff;">data( name, value)</span></p>
<p>Retorna o valor da chave <span style="color: #0000ff;">name</span><br />
<span style="color: #0000ff;">data( name)</span></p>
<h3>Exemplo:</h3>
<p>Digamos que eu queira controlar a exibição de um elemento. Neste caso um div com uma mensagem.</p>
<p>Veja o seguinte código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#link&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">!</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Veja um <a title="Exemplo de funcionamento do método data() da jQuery" href="http://www.juliobitencourt.com/exemplos/metodo_data_da_jquery.html">exemplo</a> aqui</p>
<p>É claro que existem maneiras mais elegantes de verificar se um elemento está visível ou não. Você pode usar a função <a title="Documentação jQuery" href="http://docs.jquery.com/Is"><strong>is()</strong></a> em conjunto com o seletor <a title="Seletor visible jQuery" href="http://docs.jquery.com/Selectors/visible"><strong>:visible</strong></a> por exemplo. Mas este não é o foco deste post e este exemplo serve somente para mostrar o funcionamento do método data().<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/06/estilizando-links-com-seletores-css/' title='Estilizando links com seletores CSS'>Estilizando links com seletores CSS</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "html";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Função live() da jQuery</title>
		<link>http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 14:36:06 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[dom]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=160</guid>
		<description><![CDATA[Uma das coisas que mais me agradam na jQuery é a manipulação de eventos. Para quem não conhece, veja o código a seguir:

$&#40;&#34;td a&#34;&#41;.click&#40;function&#40;&#41;&#123;
	$&#40;this&#41;.closest&#40;&#34;tr&#34;&#41;.children&#40;&#34;td&#34;&#41;.toggleClass&#40;&#34;highlight&#34;&#41;;
	return false;
&#125;&#41;;

Este código vai executar a função passada como parâmetro ao se clicar nos links que estiverem dentro de colunas (veja um exemplo da função closest(), usada no exemplo, clicando aqui).
É bom [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das coisas que mais me agradam na jQuery é a manipulação de eventos. Para quem não conhece, veja o código a seguir:<span id="more-160"></span></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Este código vai executar a função passada como parâmetro ao se clicar nos links que estiverem dentro de colunas (veja um exemplo da função closest(), usada no exemplo, clicando <a title="Link para o artigo sobre a função closest() da jQuery." href="http://www.juliobitencourt.com/exemplos/funcao-closest-da-jquery" target="_self">aqui</a>).</p>
<p>É bom lembrar que o comando <em>return false</em> é usado para que não seja executado o evento padrão do browser que é o direcionamento para o arquivo que esteja no atributo <em>href </em>do link.</p>
<p><strong>Eventos e Manipulação do DOM</strong></p>
<p>Até aqui tudo tranquilo. Mas se sua aplicação manipula o DOM, criando ou excluindo elementos do documento, a manipulação de eventos pode dar trabalho.</p>
<p><a title="Exemplo de criação de elementos no DOM via jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_live_da_jquery_ex1.html" target="_blank">Neste exemplo</a> clique no link para criar uma nova linha na tabela e depois clique no link <em>Comprar</em> da nova linha. O evento não irá funcionar. Segue o código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cria-linha&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&nbsp;
50
Melancia
10,00
&lt;a title=&quot;Comprar&quot; href=&quot;#&quot;&gt;Comprar&lt;/a&gt;
&nbsp;
'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>O código que citei acima, criará o evento <em>click</em> nos elementos que estiverem no DOM no momento do carregamento da página. E não irá funcionar para elementos criados de forma dinâmica por sua aplicação.</p>
<p>Até a versão 1.2 da jQuery, tínhamos que usar alternativas para contornar o problema. Eu uso/usava o seguinte código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cria-linha&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&nbsp;
50
Melancia
10,00
&lt;a title=&quot;Comprar&quot; href=&quot;#&quot;&gt;Comprar&lt;/a&gt;
&nbsp;
'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">unbind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a title="Exemplo de uso das funções bind e unbind da jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_live_da_jquery_ex2.html">Veja o exemplo</a></p>
<p>Este código exclui o evento click, através da função <strong>unbind</strong>, e recria o evento através da função <strong>bind</strong>. Desta forma evitamos a duplicação do evento para os elementos que já estavam presentes no DOM e recriamos para todos os elementos novamente. Este código gera um processamento desnecessário e possivelmente queda na performance da aplicação.</p>
<p><strong>A função live(type, fn)</strong></p>
<p>Adicionada na versão 1.3 da jQuery, a função live permite que o evento vinculado aos elementos esteja disponível também para os elementos criados no futuro.</p>
<p>A função aceita os seguintes eventos: <em>click, dblclick,  mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress e keyup.</em></p>
<p>Já os eventos <em>blur, focus, mouseenter, mouseleave, change e submit</em> não são suportados. Para mais informações consulte a documentação da função <a title=" Events/live - jQuery JavaScript Library" href="http://docs.jquery.com/Events/live#typefn" target="_blank">http://docs.jquery.com/Events/live#typefn</a>.</p>
<p>Seu uso é simples, veja o código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">live</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cria-linha&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&nbsp;
50
Melancia
10,00
&lt;a title=&quot;Comprar&quot; href=&quot;#&quot;&gt;Comprar&lt;/a&gt;
&nbsp;
'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Agora veja o <a title="Exemplo de uso da função live() da jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_live_da_jquery_ex3.html">exemplo</a> em funcionamento.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/06/estilizando-links-com-seletores-css/' title='Estilizando links com seletores CSS'>Estilizando links com seletores CSS</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "html";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Função closest() da jQuery</title>
		<link>http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 01:55:13 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=121</guid>
		<description><![CDATA[Introduzida na versão 1.3 do jQuery a função closest() retorna o elemento pai mais próximo encontrado. Conforme o seletor passado no parâmetro. Complicado? Não! Veja o exemplo:
Digamos que ao clicar em um link em determinada linha de uma tabela você queira alterar a cor de fundo de toda a linha.
Segue o código:

$&#40;document&#41;.ready&#40;function&#40;&#41;&#123;
	$&#40;&#34;a&#34;&#41;.click&#40;function&#40;&#41;&#123;
		$&#40;this&#41;.closest&#40;&#34;tr&#34;&#41;.children&#40;&#34;td&#34;&#41;.toggleClass&#40;&#34;highlight&#34;&#41;;
		return false;
	&#125;&#41;;
&#125;&#41;;

Na linha 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Introduzida na versão 1.3 do <a class="bbli" href="http://sledge.boo-box.com/list/page/alF1ZXJ5XyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-48">jQuery<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> a função closest() retorna o elemento pai mais próximo encontrado. Conforme o seletor passado no parâmetro. Complicado? Não! <span id="more-121"></span>Veja o exemplo:</p>
<p>Digamos que ao clicar em um link em determinada linha de uma tabela você queira alterar a cor de fundo de toda a linha.</p>
<p>Segue o código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Na linha 2 atribuímos uma função ao evento click dos elementos <strong>a</strong> (links).</p>
<p>Na linha 3 usamos a função <strong>closest()</strong> com o seletor <strong>tr</strong>. Ou seja, buscamos o elemento tr mais próximo ao link que foi clicado que é retornado através do objeto <strong>this</strong>.</p>
<p>Na mesma linha 3 usamos a função <strong>toggleClass</strong> para atribuir à linha a class <strong>highlight</strong>. A função <strong>toggleClass</strong> alterna o atributo class de modo que caso o elemento tenha a classe, a mesma é retirada. E vice-versa.</p>
<p>Reparem que fizemos as chamadas as funções <strong>closest()</strong> e <strong>toggleClass()</strong> de forma encadeada. Ou seja, em sequencia.<br />
Caso tenham dúvidas sobre o encadeamento de funções ou sobre a função <strong>toggleClass</strong>, podem perguntar através dos comentários.</p>
<p>Na linha 4 usamos <strong>return false</strong> para que o evento do clique no link seja cancelado no browser.</p>
<p>Simples assim! <a title="Exemplo de funcionamento da função closest() com jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_closest_da_jquery.html">Clique aqui</a> para ver o exemplo em funcionamento.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/' title='Gerar download de conteúdo no PHP'>Gerar download de conteúdo no PHP</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "html";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Corrigir PNG transparente no IE 6 com jQuery</title>
		<link>http://www.juliobitencourt.com/2009/05/corrigir-png-transparente-no-ie-6-com-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/05/corrigir-png-transparente-no-ie-6-com-jquery/#comments</comments>
		<pubDate>Thu, 21 May 2009 19:52:02 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[transparência]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=82</guid>
		<description><![CDATA[O Internet Explorer 6 é cada vez menos usado. Mas ainda responde por uma grande parcela dos acessos a web. Principalmente no Brasil. O uso deste browser tira o sono dos desenvolvedores. Já que o suporte aos padrões é muito deficiente.
Já tentou inserir arquivos de imagens .png com transparência em seu projeto e visualizá-lo no [...]]]></description>
			<content:encoded><![CDATA[<p>O Internet Explorer 6 é cada vez menos usado. Mas ainda responde por uma grande parcela dos acessos a web. Principalmente no Brasil. O uso deste browser tira o sono dos desenvolvedores. Já que o suporte aos padrões é muito deficiente.</p>
<p>Já tentou inserir arquivos de imagens .png com transparência em seu projeto e visualizá-lo no IE6? Pois é.</p>
<p>Existem muitas formas de se corrigir o problema. Vou apresentar a que mais uso, que é através do plugin do jQuery chamando pngFix .</p>
<p><span id="more-82"></span></p>
<p>Veja os exemplos (em inglês), e faça o download do plugin no site &#8211; <a title="jQuery pngFix - PNG transparente para IE5.5 e 6" href="http://jquery.andreaseberhard.de/pngFix/" target="_self">http://jquery.andreaseberhard.de/pngFix/</a></p>
<p>Para usá-lo é super simples:</p>
<p>Insira os arquivos javascript do jQuery e o arquivo do plugin. Certifique-se que os nomes dos arquivos estão iguais aos que você salvou em seu computador/servidor.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;jquery-latest.pack.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;jquery.pngFix.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Agora o código que faz todo o serviço:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span> 
    $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
        $<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">pngFix</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Pronto! Só isso. Qualquer dúvida só deixar um comentário.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "ie6";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/05/corrigir-png-transparente-no-ie-6-com-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
