<?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; event</title>
	<atom:link href="http://juliogreff.net/tag/event/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>Mootools &#8211; Eventos</title>
		<link>http://juliogreff.net/mootools-eventos/</link>
		<comments>http://juliogreff.net/mootools-eventos/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 16:42:55 +0000</pubDate>
		<dc:creator>Julio Greff</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[bibliotecas]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[poo]]></category>

		<guid isPermaLink="false">http://www.juliogreff.blog.br/mootools-eventos/</guid>
		<description><![CDATA[Uma função que executa quando algo começa, outra chamada quando alguma coisa termina, quando se começa o processamento ou quando&#8230; bem, você pode escolher. A Mootools permite isso, através da classe Events. Você pode implementar eventos para serem chamados quando você quiser dentro de suas funções, e é isso que mostrarei nesse post. A classe [...]

<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/mootools-options/' rel='bookmark' title='Permanent Link: Mootools &#8211; Options'>Mootools &#8211; Options</a></li>
<li><a href='http://juliogreff.net/mootools-chain/' rel='bookmark' title='Permanent Link: Mootools &#8211; Chain'>Mootools &#8211; Chain</a></li>
<li><a href='http://juliogreff.net/mootools-classes/' rel='bookmark' title='Permanent Link: Mootools &#8211; Classes'>Mootools &#8211; Classes</a></li>
<li><a href='http://juliogreff.net/ajax-com-a-mootools/' rel='bookmark' title='Permanent Link: Ajax com a Mootools'>Ajax com a Mootools</a></li>
<li><a href='http://juliogreff.net/scroller-made-in-mootools/' rel='bookmark' title='Permanent Link: Scroller Made in Mootools'>Scroller Made in Mootools</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Uma função que executa quando algo começa, outra chamada quando alguma coisa termina, quando se começa o processamento ou quando&#8230; bem, você pode escolher. A <a href="http://www.mootools.net/" rel="external" title="Mootools Library">Mootools</a> permite isso, através da classe <code>Events</code>. Você pode implementar eventos para serem chamados quando você quiser dentro de suas funções, e é isso que mostrarei nesse post.</p>
<p>A classe <code>Events</code> permite que você defina eventos para suas próprias classes. Esses eventos podem ser chamados a qualquer momento, e também podem ser criados quantos eventos forem necessários.</p>
<p>Um evento pode receber qualquer nome, mas considera-se uma boa prática criar eventos que comecem com &#8220;on&#8221;, como &#8220;onClick&#8221;, &#8220;onStart&#8221;, &#8220;onEnd&#8221;&#8230; O &#8220;on&#8221; é requerido apenas se você desejar utilizar eventos juntamente com a classe <code>Options</code> (pretendo escrever sobre ela também).</p>
<h3><a title="implementando" name="implementando"></a>Implementando</h3>
<p>Para podermos utilizar a classe <code>Events</code>, primeiro é necessário implementá-la na classe em que se deseja utilizá-la. Isso é feito através do método <code><a href="http://juliogreff.net/mootools-classes/#implementando" title="Classes Mootools - Implementando Novos Métodos">Class.implement</a></code>. Veja:</p>
<pre><code>var SlideShow = new Class({
	"initialize": function() {}
});
SlideShow.implement(new Events);
</code></pre>
<h3><a title="chamando" name="chamando"></a>Chamando Eventos</h3>
<p>Após a implementação, ainda temos que fazer as chamadas aos eventos. Para isso, utilizamos o método <code>Events.fireEvent</code>, que agora pode ser chamado do escopo da classe, ou seja, <code>this.fireEvent</code>. Esse método recebe os seguintes parâmetros:</p>
<ul>
<li><code>type</code>: O tipo do evento (&#8220;onClick&#8221;, &#8220;onDrag&#8221; ou qualquer outro)</li>
<li><code>args</code>: Argumentos a serem passados à função. Pode ser apenas um argumento ou um array contendo vários.</li>
<li><code>delay</code>: Tempo, em milissegundos, que o evento deve esperar para ser disparado.</li>
</ul>
<pre><code>var SlideShow = new Class({
	"initialize": function() {
		this.fireEvent("onStart", null, 10);
	},
	"nextSlide": function() {
		this.currentSlide += 1;
		this.fireEvent("onChangeSlide", this.currentSlide, 10);
	}
});
</code></pre>
<h3><a title="definindo" name="definindo"></a>Definindo Eventos</h3>
<p>Para definir funções a serem executadas em determinado evento, utilizamos o método <code>Events.addEvent</code>. O método recebe como parâmetros o tipo do evento e a função que deve ser executada.</p>
<pre><code>var mySlideShow = new SlideShow();
mySlideShow.addEvent("onStart", showSplashScreen);
</code></pre>
<p>Note que os eventos podem ser adicionados tanto na definição da classe quanto em uma de suas instâncias, como fizemos acima.</p>
<p>Eventos podem ter muita utilidade, e a própria biblioteca também faz bastante uso deles, como acontece nas classes <code>Ajax</code> e <code>Fx</code>. Basta ter criatividade. Até a próxima!</p>


<h3>Posts Relacionados</h3><ul><li><a href='http://juliogreff.net/mootools-options/' rel='bookmark' title='Permanent Link: Mootools &#8211; Options'>Mootools &#8211; Options</a></li>
<li><a href='http://juliogreff.net/mootools-chain/' rel='bookmark' title='Permanent Link: Mootools &#8211; Chain'>Mootools &#8211; Chain</a></li>
<li><a href='http://juliogreff.net/mootools-classes/' rel='bookmark' title='Permanent Link: Mootools &#8211; Classes'>Mootools &#8211; Classes</a></li>
<li><a href='http://juliogreff.net/ajax-com-a-mootools/' rel='bookmark' title='Permanent Link: Ajax com a Mootools'>Ajax com a Mootools</a></li>
<li><a href='http://juliogreff.net/scroller-made-in-mootools/' rel='bookmark' title='Permanent Link: Scroller Made in Mootools'>Scroller Made in Mootools</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://juliogreff.net/mootools-eventos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

