<?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>JulioGreff.net &#187; bugs</title>
	<atom:link href="http://juliogreff.net/tag/bugs/feed/" rel="self" type="application/rss+xml" />
	<link>http://juliogreff.net</link>
	<description>A mesma web, um novo estilo de desenvolvimento</description>
	<lastBuildDate>Sat, 07 May 2011 17:07:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Firefox, Event Listeners e Return</title>
		<link>http://juliogreff.net/firefox-event-listeners-e-return/</link>
		<comments>http://juliogreff.net/firefox-event-listeners-e-return/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 20:39:47 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[event]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/firefox-event-listeners-e-return/</guid>
		<description><![CDATA[Quem já não perdeu alguns fios de cabelo usando return false em um Event Listener no Firefox? Por mais que se tente, o evento continua com seu comportamento padrão. Nesse post vou mostrar a &#8220;grande&#8221; solução. De acordo com a especificação do ECMAScript, Event Listeners (definidos através da famosa addEvent, para execvent, para executar funções [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/drag-and-drop-parte-1/' rel='bookmark' title='Permanent Link: Drag and Drop &#8211; Parte 1'>Drag and Drop &#8211; Parte 1</a></li>
<li><a href='http://juliogreff.net/mootools-menu-sanfona/' rel='bookmark' title='Permanent Link: Mootools &#8211; Menu Sanfona'>Mootools &#8211; Menu Sanfona</a></li>
<li><a href='http://juliogreff.net/drag-and-drop-parte-2/' rel='bookmark' title='Permanent Link: Drag and Drop &#8211; Parte 2'>Drag and Drop &#8211; Parte 2</a></li>
<li><a href='http://juliogreff.net/mootools-eventos/' rel='bookmark' title='Permanent Link: Mootools &#8211; Eventos'>Mootools &#8211; Eventos</a></li>
<li><a href='http://juliogreff.net/efeito-glide/' rel='bookmark' title='Permanent Link: Efeito Glide'>Efeito Glide</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Quem já não perdeu alguns fios de cabelo usando <code>return false</code> em um Event Listener no Firefox? Por mais que se tente, o evento continua com seu comportamento padrão. Nesse post vou mostrar a &#8220;grande&#8221; solução.</p>
<p>De acordo com a especificação do ECMAScript, Event Listeners (definidos através da famosa <code>addEvent</code>, para execvent, para executar funções no disparo de eventos) não possuem valores de retorno, ou seja, <code>return false</code> não faz efeito algum (pelo menos no Firefox, que segue esse padrão).</p>
<p>A solução é simples: a função não possui valor de retorno, mas recebe como parâmetro um objeto <code>Event</code>. Através dele, podemos usar <code>Event.preventDefault</code> para impedir que o comportamento padrão seja executado. Veja o código:</p>
<pre><code>addEvent(myForm, "submit", function(e) {
		if(e &amp;&amp; e.preventDefault) e.preventDefault();
		else return false; // JavaScript à moda IE
	})</code></pre>
<p>Simples, não? Espero que possa ajudar, já que também tive esse pequeno problema. Até o próximo post!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/drag-and-drop-parte-1/' rel='bookmark' title='Permanent Link: Drag and Drop &#8211; Parte 1'>Drag and Drop &#8211; Parte 1</a></li>
<li><a href='http://juliogreff.net/mootools-menu-sanfona/' rel='bookmark' title='Permanent Link: Mootools &#8211; Menu Sanfona'>Mootools &#8211; Menu Sanfona</a></li>
<li><a href='http://juliogreff.net/drag-and-drop-parte-2/' rel='bookmark' title='Permanent Link: Drag and Drop &#8211; Parte 2'>Drag and Drop &#8211; Parte 2</a></li>
<li><a href='http://juliogreff.net/mootools-eventos/' rel='bookmark' title='Permanent Link: Mootools &#8211; Eventos'>Mootools &#8211; Eventos</a></li>
<li><a href='http://juliogreff.net/efeito-glide/' rel='bookmark' title='Permanent Link: Efeito Glide'>Efeito Glide</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/firefox-event-listeners-e-return/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>innerOptions</title>
		<link>http://juliogreff.net/inneroptions/</link>
		<comments>http://juliogreff.net/inneroptions/#comments</comments>
		<pubDate>Thu, 25 Jan 2007 21:09:01 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/?p=56</guid>
		<description><![CDATA[O IE6 é um dos browsers o browser mais problemático que existe, tanto para HTML e CSS quanto para JavaScript. Todos sabem disso, até aqui nada de novo. Justamente nesse pseudo-browser é o problema que vou expor. Não sei se ele foi resolvido por muita gente, mas eu dei um jeito e funcionou bem. Quem [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/historico-para-navegacao-via-javascript/' rel='bookmark' title='Permanent Link: Histórico para Navegação via JavaScript'>Histórico para Navegação via JavaScript</a></li>
<li><a href='http://juliogreff.net/ajax-sem-o-x/' rel='bookmark' title='Permanent Link: Ajax sem o X'>Ajax sem o X</a></li>
<li><a href='http://juliogreff.net/cookies-em-javascript/' rel='bookmark' title='Permanent Link: Cookies em JavaScript'>Cookies em JavaScript</a></li>
<li><a href='http://juliogreff.net/funcoes-em-diferentes-escopos/' rel='bookmark' title='Permanent Link: Funções em Diferentes Escopos'>Funções em Diferentes Escopos</a></li>
<li><a href='http://juliogreff.net/efeito-glide/' rel='bookmark' title='Permanent Link: Efeito Glide'>Efeito Glide</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>O IE6 é <del>um dos browsers</del> o browser mais problemático que existe, tanto para HTML e CSS quanto para JavaScript. Todos sabem disso, até aqui nada de novo.</p>
<p>Justamente nesse pseudo-browser é o problema que vou expor. Não sei se ele foi resolvido por muita gente, mas eu dei um jeito e funcionou bem. Quem mais tiver feito algo parecido coloque o link nos comentários.</p>
<p>A função é a seguinte:</p>
<pre><code>function innerOptions(oSelect,mOptions) {
	var ini = 0;
	if(mOptions.toLowerCase().indexOf("&lt;option") &lt; 0) {
		var oOption = document.createElement('option');
		oOption.innerHTML = mOptions;
		oOption.setAttribute("value", mOptions);
		oSelect.appendChild(oOption);
    }
	else {
	    var ini = 0;
	    while (ini != -1) {
        ini = mOptions.indexOf('&lt;option', ini);
	        if (ini &gt;= 0) {
				var valueIni = mOptions.indexOf('value="', ini);
        	    if(valueIni &gt;= 0) {
					var valueFim = mOptions.indexOf('"', valueIni);
    	        	var value = mOptions.substring(valueIni,valueFim);
				}
            	ini = mOptions.indexOf('&gt;', ini) + 1;
	            var fim = mOptions.indexOf('&lt;/option&gt;', ini);
    	        text = mOptions.substring(ini,fim);
        	    elOption = document.createElement("option");
            	elOption.innerHTML = text;
				elOption.value = value;
    	        oSelect.appendChild(elOption);
	        }
    	}
	}
}</code></pre>
<p>A idéia é a seguinte: caso não haja uma tag option em <code>mOptions</code>, ela é criada e tem value e texto como <code>mOptions</code>. Caso contrário, as tags são recriadas e adicionadas ao select através de <code>appendChild</code>. Simples, mas chatinho de fazer, pelos <code>indexOf</code> (odeio isso).</p>
<p>Essa função é bem útil tanto para Ajax quanto para só JavaScript.</p>
<p><strong>Update:</strong> aproveitem e dêem uma olhada na <a href="http://elmicox.blogspot.com/2007/01/innerhtml-em-select-option.html" rel="friend external" title="innerHTML em Select Option">função do Micox</a> também. Utiliza uma idéia diferente, mas funciona legal.</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/historico-para-navegacao-via-javascript/' rel='bookmark' title='Permanent Link: Histórico para Navegação via JavaScript'>Histórico para Navegação via JavaScript</a></li>
<li><a href='http://juliogreff.net/ajax-sem-o-x/' rel='bookmark' title='Permanent Link: Ajax sem o X'>Ajax sem o X</a></li>
<li><a href='http://juliogreff.net/cookies-em-javascript/' rel='bookmark' title='Permanent Link: Cookies em JavaScript'>Cookies em JavaScript</a></li>
<li><a href='http://juliogreff.net/funcoes-em-diferentes-escopos/' rel='bookmark' title='Permanent Link: Funções em Diferentes Escopos'>Funções em Diferentes Escopos</a></li>
<li><a href='http://juliogreff.net/efeito-glide/' rel='bookmark' title='Permanent Link: Efeito Glide'>Efeito Glide</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/inneroptions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

