SlideShare uma empresa Scribd logo
HTML DOMRicardo Cavalcantikvalcanti@gmail.com
Algumas Ferramentas“Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page!”http://getfirebug.com
JavacriptBasico: tag <script><script type="text/javascript">document.write("Hello World!");</script>É executadoassimquecarregadoSe o script alterar a página, coloque no finalColocar no final é sempreuma boa práticadocument.write()Output para a página
Javascript Básico: arquivo .jsPara incluir arquivos externos<script type="text/javascript“ src="xxx.js"></script>Boa prática: minifique e unifique os arquivos .jsYUI Compressor e Google ClosureCompiler
Browser objects
Browser objects: windowRepresenta uma janela aberta no browseralert( msg )confirm()window.locationInformações sobre a URLwindow.screenwindow.historywindow.navigator
Browser objects: window.navigatorInformações sobre o browsercookieEnabledappNameuserAgent
Browser objects: window.historyPara navegar pelo históricoback()forward()go()
DOM: introduçãoDocumentObjectModel: um conjunto de interfacesUma API para HTML e XMLRepresentação estrutural do documentoPermite modificação do conteúdo e do visualLiga as páginas aos scripts
DOM: documento HTML<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>	 <head>		 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />		 <title>ToDolist</title>	 </head>	 <body>		 <div>What I need to do.</div>		 <p title="ToDolist">Mylist:</p>		 <ul>			 <li>Finishpresentation</li>			 <li>Cleanupmy home.</li>			 <li>Buy a bottleofmilk. (Maybebeerwillbebetter?;)</li>		 </ul>	 </body></html>htmlHeadbodyMetatitledivPultitleli
DOM: encontrando elementos<input type="text" id="message" value="Messagesgoeshere..."/>...var msgInput = document.getElementById("message");<ul id="list">	 <li>Item 1</li>	 <li>Item 2</li>	 <li>Item 3</li></ul>...var items = document.getElementsByTagName("li");
DOM: elements<p title="ToDo list">My tasks</p>Tipos de nodesHTML elementAttributeTextnodeptitleTextnodeToDo listMy tasks
DOM: atributos de ElementnodeNamenodeValuenodeTypeparentNodechildNodesfirstChildlastChildpreviousSiblingnextSiblingattributesownerDocument
DOM: objeto documentA raiz para a árvore DOMdocument.getElementByIddocument.getElementsByNamedocument.getElementsByTagName
DOM: manipulação do DOMvar item = document.createElement("li");var text = document.createTextNode(message);item.appendChild(text);parent.appendChild(item);parent.insertBefore(someNode, item);parent.innerHTML = parent.innerHTML + ("<li>"+message+"</li>");parent.removeChild(item);
DOM: element.styleÉ possível mudar o visual do elemento através do javacriptvar el = document.getElementById(“myDiv”);el.style.display= “none”;
Vamos praticar?
Eventos
Eventos: introduçãoPara tornar páginas dinâmicasFunções que executarão quando eventos ocorreremO retorno da função pode bloquear a execução de uma ação posterior
Eventos: definindo eventosInline, na tag html<input type="text" size="30" id="email" onchange="checkEmail()">functioncheckEmail(){  //...}Não use! É ruim escrever código javascript no meio do html
Eventos: definindo eventosDiretamente no elemento<input type="text" size="30" id="email" >var elEmail = document.getElementById(“email”);elEmail.onchange = function(){ ...};Posso executar a função do eventoelEmail.onchange()thisé o elemento onde ocorreu o eventoDesvantagem: apenas uma função por evento.
Eventos: modelos avançadosAdicionando um eventhandlervar addBtn = document.getElementById("addBtn");//...addBtn.addEventListener('click', function(){	 //codegoeshere},false);addBtn.attachEvent('click', function(){	 //codegoeshere});thisé o elemento onde ocorreu o evento
Eventos: capturing & bubblingSe ambos tiverem onclick, qual é executado primeiro?Capturing: div a primeiroBubbling: div b primeiroW3C definiu as duas possibilidadesaddEventListener(“click”, fn, boolean)False: capturingTrue: bubling
Eventos: eventos de mousemousedownmouseupclickdblclickmousemoveA cada pixelmouseovermouseout
Eventos: teclaskeydownkeypresskeyupfunctionnoNumbers(e) {var keynum,  keychar, numcheck;if(window.event) { // IE keynum = e.keyCode}elseif(e.which) { //FFkeynum = e.which	}keychar = String.fromCharCode(keynum);numcheck = /\d/;return !numcheck.test(keychar);}<input type="text" onkeydown="return noNumbers(event)" />
Eventos: outros eventosblurfocus
Vamos praticar?
JQuery
jQuery: introduçãoEscondendo divs com javacriptdivs = document.getElementByTagName(‘div’);	for (i = 0; i < divs.length; i++) {divs[i].style.display = ‘none’;}
jQuery: introduçãoEscondendo divs com javacriptdivs = document.getElementByTagName(‘div’);	for (i = 0; i < divs.length; i++) {divs[i].style.display = ‘none’;}Escondendo divs com jquery$(‘div’).hide();
jQuery: filosofiaEncontre HTMLFaça alguma coisa$() função seletoraO mesmo que jQuery()Incluam na páginahttp://code.jquery.com/jquery-1.4.3.min.jsOu baixem em http://jquery.com/
Jquery: Seletores
jQuery: seletores CSSUm pouco de CSS#myId encontra o elemento com o id ‘myId’.myClass encontra todos os elementos com a class ‘myClass’table encontra todos os elementos com a tagtabletable#myId encontra a tabela com id ‘myId’table #myId encontra o elemento com id ‘myId’ que esteja dentro de um table
jQuery: seletores$(‘#myId’) pega o elemento com o id ‘myId’$(‘li:first’) pega o primeiro li$(‘tr:odd’) pega todas as tablerows ímpares$(‘a[target=_blank]’) pega todos os a cujo target é _blank$(‘form[id^=step]’) pega todos os forms cujo id começa com ‘step’
jQuery: seletores CSSDepois de achar$(‘#myId’)Fazer$(‘#myId’).addClass(‘redbox’);
jQuery: coisas legaisMétodos encadeados$(“div”).addClass(“redbox”) .fadeOut();Um método, várias aplicações$(...).html();$(...).html(“<p>hello</p>”);$(...).html(function(i, oldHtml){return “<p>hello “ + i + “</p>”;	});
jQuery: métodosMovingElements: append(), appendTo(), before(), after(), Attributescss(), attr(), html(), val(), addClass()Traversingfind(), is(), prevAll(), next(), hasClass()Eventsbind(), trigger(), unbind(),, click()Effectsshow(), fadeOut(), toggle(), animate()
jQuery: um pouco mais de $()Você pode passar uma função para $() para ser executada quando a página carregar$(function(){//executa quando o DOM estiver pronto});o mesmo que$(document).ready(function(){ });
Exemplo: criando e incluindo elementosPegue um elemento com o id foo e adicione html$(“#foo”)<html><body><div>jQuery</div><div id=”foo”>example</div></body></html>
Exemplo: criando e incluindo elementosPegue um elemento com o id foo e adicione html$(“#foo”).append(“<p>test</p>”);<html><body><div>jQuery</div><div id=”foo”>example</div></body></html>
Exemplo: criando e incluindo elementosPegue um elemento com o id foo e adicione html$(“#foo”).append(“<p>test</p>”);<html><body><div>jQuery</div><div id=”foo”>example<p>test</p></div></body></html>
Exemplo: movendo elementosMova os parágrafos para o elemento com id “foo”$(“p”)<html><body><div>jQuery<p>moving</p> <p>paragraphs</p></div><div id=”foo”>example</div></body></html>
Exemplo: movendo elementosMova os parágrafos para o elemento com id “foo”$(“p”).appendTo(“#foo”);<html><body><div>jQuery<p>moving</p> <p>paragraphs</p></div><div id=”foo”>example</div></body></html>
Exemplo: movendo elementosMova os parágrafos para o elemento com id “foo”$(“p”).appendTo(“#foo”);<html><body><div>jQuery</div><div id=”foo”>example<p>moving</p> <p>paragraphs</p></div></body></html>
jQuery: Atributos.attr(‘id’).html().val().css(“top”).width().attr(‘id’,’foo’).html(“<p>hi</p>”).val(“newval”).css(“top”, “80px”).width(60)GetSet
jQuery: AtributosSetar a bordapara 1px black$(...).css(“border”, “1px solidblack”);Setar várias propriedades css$(...).css({ 	“background”: “yellow”, 	“height”: “400px”});Setar todos os href dos links para google.com$(“a”).attr(“href”, “http://google.com”);
jQuery: AtributosSetar a bordapara 1px black$(...).css(“border”, “1px solidblack”);Setar várias propriedades css$(...).css({ 	“background”: “yellow”, 	“height”: “400px”});Setar todos os href dos links para google.com$(“a”).attr(“href”, “http://google.com”);
jQuery: EventosQuando um botão é clicado, faz algo$(“button”).click(function(){something();});
jQuery: Animação e efeitosEfeitos Hide e showfadeIn e fade outSlide up e slide down
jQuery: AnimaçãoCada vez que clicar, alterne slide up e down o primeiro div$(...).click(function(){	$(“div:first”).slideToggle();});Animar os elementos até que tenham 300px de largura, em 0.5 segundos$(...).animate({ “width”: “300px” }, 500);Tire o foco do elemento realizando fade out até 30% de opacity em 0.5 segundos$(...).fadeTo(500, 0.3);
jQuery: Transversing 1Pegue todas as células anteriores a #myCell$(“#myCell”)<html><body><table><tr><td></td><td></td><td id=”myCell”></td><td></td></tr></table></body></html>
jQuery: Transversing 1Pegue todas as células anteriores a #myCell$(“#myCell”).prevAll()<html><body><table><tr><td></td><td></td><td id=”myCell”></td><td></td></tr></table></body></html>
jQuery: Transversing 1Pegue todas as células anteriores a #myCell$(“#myCell”).prevAll().andSelf()<html><body><table><tr><td></td><td></td><td id=”myCell”></td><td></td></tr></table></body></html>
jQuery: Transversing 2Encontre os parágrafos a partir da tabela$(“table”);<html><body><table></table><div><p>foo</p><span>bar</span></div></body></html>
jQuery: Transversing 2Encontre os parágrafos a partir da tabela$(“table”).next();<html><body><table></table><div><p>foo</p><span>bar</span></div></body></html>
jQuery: Transversing 2Encontre os parágrafos a partir da tabela$(“table”).next().find(“p”);<html><body><table></table><div><p>foo</p><span>bar</span></div></body></html>

Mais conteúdo relacionado

PDF
Java script aula 09 - JQuery
Cristiano Pires Martins
 
KEY
JQuery Alagoinhas Dev Day - UNEB
Luciano Borges
 
PDF
Java script aula 10 - angularjs
Cristiano Pires Martins
 
PDF
Java script aula 07 - eventos
Cristiano Pires Martins
 
PDF
Java script aula 07 - j-query
Cristiano Pires Martins
 
PDF
Java script aula 06 - dom
Cristiano Pires Martins
 
PDF
Introdução ao JQuery e AJAX
Sérgio Souza Costa
 
PDF
Aula 07 acessibilidade
Cristiano Pires Martins
 
Java script aula 09 - JQuery
Cristiano Pires Martins
 
JQuery Alagoinhas Dev Day - UNEB
Luciano Borges
 
Java script aula 10 - angularjs
Cristiano Pires Martins
 
Java script aula 07 - eventos
Cristiano Pires Martins
 
Java script aula 07 - j-query
Cristiano Pires Martins
 
Java script aula 06 - dom
Cristiano Pires Martins
 
Introdução ao JQuery e AJAX
Sérgio Souza Costa
 
Aula 07 acessibilidade
Cristiano Pires Martins
 

Mais procurados (20)

PDF
Javascript - Biblioteca Jquery
Multside Digital
 
PDF
Programação Web com jQuery
Victor Adriel Oliveira
 
PDF
Java script - funções
Cristiano Pires Martins
 
PDF
Hello vue
Gabriel Colombo
 
PDF
Java script aula 02 - operadores
Cristiano Pires Martins
 
PPT
Aula javascript
Gabriel Moura
 
PDF
JavaScript e JQuery para Webdesigners
Harlley Oliveira
 
PDF
Java script aula 05 - funções
Cristiano Pires Martins
 
PPT
Boas práticas de Automação de Testes
Camilo Ribeiro
 
PPT
Minicurso de JavaScript (Portuguese)
Bruno Grange
 
PPTX
11 Java Script - Exemplos com eventos
Centro Paula Souza
 
PPTX
jQuery básico (parte 2)
Luís Cobucci
 
PDF
Javascript aula 01 - visão geral
Cristiano Pires Martins
 
PDF
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Rodrigo Bueno Santa Maria, BS, MBA
 
KEY
JQuery
Luciano Borges
 
KEY
Javascript - Princípios da linguagem e utilização de frameworks
Bruno Abrantes
 
PDF
Java script aula 08 - formulários
Cristiano Pires Martins
 
PDF
DOMinando JavaScript
Thiago Poiani
 
PDF
Javascript truquesmagicos
ponto hacker
 
PDF
Aplicações rápidas para a Web com Django
Freedom DayMS
 
Javascript - Biblioteca Jquery
Multside Digital
 
Programação Web com jQuery
Victor Adriel Oliveira
 
Java script - funções
Cristiano Pires Martins
 
Hello vue
Gabriel Colombo
 
Java script aula 02 - operadores
Cristiano Pires Martins
 
Aula javascript
Gabriel Moura
 
JavaScript e JQuery para Webdesigners
Harlley Oliveira
 
Java script aula 05 - funções
Cristiano Pires Martins
 
Boas práticas de Automação de Testes
Camilo Ribeiro
 
Minicurso de JavaScript (Portuguese)
Bruno Grange
 
11 Java Script - Exemplos com eventos
Centro Paula Souza
 
jQuery básico (parte 2)
Luís Cobucci
 
Javascript aula 01 - visão geral
Cristiano Pires Martins
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Rodrigo Bueno Santa Maria, BS, MBA
 
Javascript - Princípios da linguagem e utilização de frameworks
Bruno Abrantes
 
Java script aula 08 - formulários
Cristiano Pires Martins
 
DOMinando JavaScript
Thiago Poiani
 
Javascript truquesmagicos
ponto hacker
 
Aplicações rápidas para a Web com Django
Freedom DayMS
 
Anúncio

Semelhante a Html dom, eventos, jquery (20)

PPT
Melhorando a Experiência do Usuário com JavaScript e jQuery
Harlley Oliveira
 
PPTX
Jquery a technical overview
Alexandre Marreiros
 
PDF
Web 3.0
Miguel Alho
 
PDF
Evento Front End SP - Organizando o Javascript
Michel Ribeiro
 
PPT
Mini Curso de jQuery Lambda3/Globalcode
Victor Cavalcante
 
PDF
Minicurso de jQuery
André Willik Valenti
 
PDF
ODIG - Javascript, DOM Elements e jQuery
Marketing Digital ODIG
 
PDF
Palestra - Iniciando no Jquery
grupoweblovers
 
PDF
JavaScript ninja com jQuery
Reinaldo Junior
 
PDF
Minicurso javascript
Lucas Aquiles
 
PPT
Aprenda jQuery 1.3
Helton Marinho
 
PPTX
jQuery - Visão Geral
Kaio Valente
 
KEY
Javascript + jQuery
Guilherme Vinicius Moreira
 
PPTX
jQuery básico (parte 1)
Luís Cobucci
 
PDF
Jquery 38book-pt-br
Jean Lopes
 
PDF
jQuery
Bruno Cunha
 
PDF
jQuery
Bruno Cunha
 
PPTX
09 Java Script - As formas de usar
Centro Paula Souza
 
ODP
Introdução a jQuery
Rodrigo Aramburu
 
PPT
Trabalho jQuery
grupoucpel
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Harlley Oliveira
 
Jquery a technical overview
Alexandre Marreiros
 
Web 3.0
Miguel Alho
 
Evento Front End SP - Organizando o Javascript
Michel Ribeiro
 
Mini Curso de jQuery Lambda3/Globalcode
Victor Cavalcante
 
Minicurso de jQuery
André Willik Valenti
 
ODIG - Javascript, DOM Elements e jQuery
Marketing Digital ODIG
 
Palestra - Iniciando no Jquery
grupoweblovers
 
JavaScript ninja com jQuery
Reinaldo Junior
 
Minicurso javascript
Lucas Aquiles
 
Aprenda jQuery 1.3
Helton Marinho
 
jQuery - Visão Geral
Kaio Valente
 
Javascript + jQuery
Guilherme Vinicius Moreira
 
jQuery básico (parte 1)
Luís Cobucci
 
Jquery 38book-pt-br
Jean Lopes
 
jQuery
Bruno Cunha
 
jQuery
Bruno Cunha
 
09 Java Script - As formas de usar
Centro Paula Souza
 
Introdução a jQuery
Rodrigo Aramburu
 
Trabalho jQuery
grupoucpel
 
Anúncio

Último (16)

PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PPTX
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
PPTX
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
PPTX
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
PPTX
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
PPTX
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
PPTX
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
PPTX
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
PPTX
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 

Html dom, eventos, jquery

  • 2. Algumas Ferramentas“Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page!”http://getfirebug.com
  • 3. JavacriptBasico: tag <script><script type="text/javascript">document.write("Hello World!");</script>É executadoassimquecarregadoSe o script alterar a página, coloque no finalColocar no final é sempreuma boa práticadocument.write()Output para a página
  • 4. Javascript Básico: arquivo .jsPara incluir arquivos externos<script type="text/javascript“ src="xxx.js"></script>Boa prática: minifique e unifique os arquivos .jsYUI Compressor e Google ClosureCompiler
  • 6. Browser objects: windowRepresenta uma janela aberta no browseralert( msg )confirm()window.locationInformações sobre a URLwindow.screenwindow.historywindow.navigator
  • 7. Browser objects: window.navigatorInformações sobre o browsercookieEnabledappNameuserAgent
  • 8. Browser objects: window.historyPara navegar pelo históricoback()forward()go()
  • 9. DOM: introduçãoDocumentObjectModel: um conjunto de interfacesUma API para HTML e XMLRepresentação estrutural do documentoPermite modificação do conteúdo e do visualLiga as páginas aos scripts
  • 10. DOM: documento HTML<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>ToDolist</title> </head> <body> <div>What I need to do.</div> <p title="ToDolist">Mylist:</p> <ul> <li>Finishpresentation</li> <li>Cleanupmy home.</li> <li>Buy a bottleofmilk. (Maybebeerwillbebetter?;)</li> </ul> </body></html>htmlHeadbodyMetatitledivPultitleli
  • 11. DOM: encontrando elementos<input type="text" id="message" value="Messagesgoeshere..."/>...var msgInput = document.getElementById("message");<ul id="list"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li></ul>...var items = document.getElementsByTagName("li");
  • 12. DOM: elements<p title="ToDo list">My tasks</p>Tipos de nodesHTML elementAttributeTextnodeptitleTextnodeToDo listMy tasks
  • 13. DOM: atributos de ElementnodeNamenodeValuenodeTypeparentNodechildNodesfirstChildlastChildpreviousSiblingnextSiblingattributesownerDocument
  • 14. DOM: objeto documentA raiz para a árvore DOMdocument.getElementByIddocument.getElementsByNamedocument.getElementsByTagName
  • 15. DOM: manipulação do DOMvar item = document.createElement("li");var text = document.createTextNode(message);item.appendChild(text);parent.appendChild(item);parent.insertBefore(someNode, item);parent.innerHTML = parent.innerHTML + ("<li>"+message+"</li>");parent.removeChild(item);
  • 16. DOM: element.styleÉ possível mudar o visual do elemento através do javacriptvar el = document.getElementById(“myDiv”);el.style.display= “none”;
  • 19. Eventos: introduçãoPara tornar páginas dinâmicasFunções que executarão quando eventos ocorreremO retorno da função pode bloquear a execução de uma ação posterior
  • 20. Eventos: definindo eventosInline, na tag html<input type="text" size="30" id="email" onchange="checkEmail()">functioncheckEmail(){ //...}Não use! É ruim escrever código javascript no meio do html
  • 21. Eventos: definindo eventosDiretamente no elemento<input type="text" size="30" id="email" >var elEmail = document.getElementById(“email”);elEmail.onchange = function(){ ...};Posso executar a função do eventoelEmail.onchange()thisé o elemento onde ocorreu o eventoDesvantagem: apenas uma função por evento.
  • 22. Eventos: modelos avançadosAdicionando um eventhandlervar addBtn = document.getElementById("addBtn");//...addBtn.addEventListener('click', function(){ //codegoeshere},false);addBtn.attachEvent('click', function(){ //codegoeshere});thisé o elemento onde ocorreu o evento
  • 23. Eventos: capturing & bubblingSe ambos tiverem onclick, qual é executado primeiro?Capturing: div a primeiroBubbling: div b primeiroW3C definiu as duas possibilidadesaddEventListener(“click”, fn, boolean)False: capturingTrue: bubling
  • 24. Eventos: eventos de mousemousedownmouseupclickdblclickmousemoveA cada pixelmouseovermouseout
  • 25. Eventos: teclaskeydownkeypresskeyupfunctionnoNumbers(e) {var keynum, keychar, numcheck;if(window.event) { // IE keynum = e.keyCode}elseif(e.which) { //FFkeynum = e.which }keychar = String.fromCharCode(keynum);numcheck = /\d/;return !numcheck.test(keychar);}<input type="text" onkeydown="return noNumbers(event)" />
  • 29. jQuery: introduçãoEscondendo divs com javacriptdivs = document.getElementByTagName(‘div’); for (i = 0; i < divs.length; i++) {divs[i].style.display = ‘none’;}
  • 30. jQuery: introduçãoEscondendo divs com javacriptdivs = document.getElementByTagName(‘div’); for (i = 0; i < divs.length; i++) {divs[i].style.display = ‘none’;}Escondendo divs com jquery$(‘div’).hide();
  • 31. jQuery: filosofiaEncontre HTMLFaça alguma coisa$() função seletoraO mesmo que jQuery()Incluam na páginahttp://code.jquery.com/jquery-1.4.3.min.jsOu baixem em http://jquery.com/
  • 33. jQuery: seletores CSSUm pouco de CSS#myId encontra o elemento com o id ‘myId’.myClass encontra todos os elementos com a class ‘myClass’table encontra todos os elementos com a tagtabletable#myId encontra a tabela com id ‘myId’table #myId encontra o elemento com id ‘myId’ que esteja dentro de um table
  • 34. jQuery: seletores$(‘#myId’) pega o elemento com o id ‘myId’$(‘li:first’) pega o primeiro li$(‘tr:odd’) pega todas as tablerows ímpares$(‘a[target=_blank]’) pega todos os a cujo target é _blank$(‘form[id^=step]’) pega todos os forms cujo id começa com ‘step’
  • 35. jQuery: seletores CSSDepois de achar$(‘#myId’)Fazer$(‘#myId’).addClass(‘redbox’);
  • 36. jQuery: coisas legaisMétodos encadeados$(“div”).addClass(“redbox”) .fadeOut();Um método, várias aplicações$(...).html();$(...).html(“<p>hello</p>”);$(...).html(function(i, oldHtml){return “<p>hello “ + i + “</p>”; });
  • 37. jQuery: métodosMovingElements: append(), appendTo(), before(), after(), Attributescss(), attr(), html(), val(), addClass()Traversingfind(), is(), prevAll(), next(), hasClass()Eventsbind(), trigger(), unbind(),, click()Effectsshow(), fadeOut(), toggle(), animate()
  • 38. jQuery: um pouco mais de $()Você pode passar uma função para $() para ser executada quando a página carregar$(function(){//executa quando o DOM estiver pronto});o mesmo que$(document).ready(function(){ });
  • 39. Exemplo: criando e incluindo elementosPegue um elemento com o id foo e adicione html$(“#foo”)<html><body><div>jQuery</div><div id=”foo”>example</div></body></html>
  • 40. Exemplo: criando e incluindo elementosPegue um elemento com o id foo e adicione html$(“#foo”).append(“<p>test</p>”);<html><body><div>jQuery</div><div id=”foo”>example</div></body></html>
  • 41. Exemplo: criando e incluindo elementosPegue um elemento com o id foo e adicione html$(“#foo”).append(“<p>test</p>”);<html><body><div>jQuery</div><div id=”foo”>example<p>test</p></div></body></html>
  • 42. Exemplo: movendo elementosMova os parágrafos para o elemento com id “foo”$(“p”)<html><body><div>jQuery<p>moving</p> <p>paragraphs</p></div><div id=”foo”>example</div></body></html>
  • 43. Exemplo: movendo elementosMova os parágrafos para o elemento com id “foo”$(“p”).appendTo(“#foo”);<html><body><div>jQuery<p>moving</p> <p>paragraphs</p></div><div id=”foo”>example</div></body></html>
  • 44. Exemplo: movendo elementosMova os parágrafos para o elemento com id “foo”$(“p”).appendTo(“#foo”);<html><body><div>jQuery</div><div id=”foo”>example<p>moving</p> <p>paragraphs</p></div></body></html>
  • 46. jQuery: AtributosSetar a bordapara 1px black$(...).css(“border”, “1px solidblack”);Setar várias propriedades css$(...).css({ “background”: “yellow”, “height”: “400px”});Setar todos os href dos links para google.com$(“a”).attr(“href”, “http://google.com”);
  • 47. jQuery: AtributosSetar a bordapara 1px black$(...).css(“border”, “1px solidblack”);Setar várias propriedades css$(...).css({ “background”: “yellow”, “height”: “400px”});Setar todos os href dos links para google.com$(“a”).attr(“href”, “http://google.com”);
  • 48. jQuery: EventosQuando um botão é clicado, faz algo$(“button”).click(function(){something();});
  • 49. jQuery: Animação e efeitosEfeitos Hide e showfadeIn e fade outSlide up e slide down
  • 50. jQuery: AnimaçãoCada vez que clicar, alterne slide up e down o primeiro div$(...).click(function(){ $(“div:first”).slideToggle();});Animar os elementos até que tenham 300px de largura, em 0.5 segundos$(...).animate({ “width”: “300px” }, 500);Tire o foco do elemento realizando fade out até 30% de opacity em 0.5 segundos$(...).fadeTo(500, 0.3);
  • 51. jQuery: Transversing 1Pegue todas as células anteriores a #myCell$(“#myCell”)<html><body><table><tr><td></td><td></td><td id=”myCell”></td><td></td></tr></table></body></html>
  • 52. jQuery: Transversing 1Pegue todas as células anteriores a #myCell$(“#myCell”).prevAll()<html><body><table><tr><td></td><td></td><td id=”myCell”></td><td></td></tr></table></body></html>
  • 53. jQuery: Transversing 1Pegue todas as células anteriores a #myCell$(“#myCell”).prevAll().andSelf()<html><body><table><tr><td></td><td></td><td id=”myCell”></td><td></td></tr></table></body></html>
  • 54. jQuery: Transversing 2Encontre os parágrafos a partir da tabela$(“table”);<html><body><table></table><div><p>foo</p><span>bar</span></div></body></html>
  • 55. jQuery: Transversing 2Encontre os parágrafos a partir da tabela$(“table”).next();<html><body><table></table><div><p>foo</p><span>bar</span></div></body></html>
  • 56. jQuery: Transversing 2Encontre os parágrafos a partir da tabela$(“table”).next().find(“p”);<html><body><table></table><div><p>foo</p><span>bar</span></div></body></html>