SlideShare a Scribd company logo
JQuery [4]
 Matteo Magni
Eventi
jQuery ovviamente ci
mette a disposizione
una serie di semplici
metodi per gestire gli
eventi generati dal
browser e                I metodi hanno una nomenclatura
                         molto simile agli eventi che già
dall'utente.             conosciamo.
Browser Events
• .error()
  <img src=”noimage.ppp” alt="Book" id="book" />
$('#book')
  .error(function() {
    alert('Handler for .error() called.')
  })
  .attr("src", "missing.png");

  ci permette di gestire eventuali errori tipo
  la mancanza di una immagine.
Browser Events [2]
• .resize()
$(window).resize(function() {
  alert($(window).width());
});
Gestisce se qualcuno modifica le dimensioni della finestra.

• .scroll()
<div id="target" style="overflow: scroll; width: 200px; height: 
100px;">
  Lorem ipsum dolor sit amet, consectetur adipisicing elit,
  sed do eiusmod tempor incididunt ut labore et dolore magna
</div>
$('#target').scroll(function() {alert('attento');});
Event Loading
il codice viene eseguito quando il DOM è pronto ma prima che le immagini
ed altri elementi grafici siano caricati
$(document).ready(function(){
   alert("welcome");
 });


Qui aspetto che tutti gli elementi siano caricati
$(window).load(function(){
   alert("welcome");
 });
Form Events
•   .blur()
•   .change()
•   .focus()
•   .select()
•   .submit()
Keyboard Events
• .keydown()
• .keypress()
• .keyup()
Mouse Events
•   .click()        •   .mousedown()
•   .dblclick()     •   .mouseenter()
•   .focusin()      •   .mouseleave()
•   .focusout()     •   .mousemove()
•   .hover()        •   .mouseout()
                    •   .mouseover()
                    •   .mouseup()
bind()
Tutti i metodi semplificati per gestire gli
eventi utilizzano il metodo bind() al quale va
passato il nome dell'evento.

$('#foo').bind('click', function() {
  alert('User clicked on "foo."');
});
bind() [2]
Il vantaggio è che possiamo passare più
eventi

$('#foo').bind('click onmouseover', 
function() {
  alert('User clicked or mouseover on 
"foo."');
});
unbind()
Il metodo unbind permette di rimuovere gli
eventi precedentemente collegati.

//rimuovo gli eventi
$('#foo').unbind();
//specifico il tipo di evento
$('#foo').unbind('click');
on() e off()
Dalla versione 1.7 i metodi bind e unbind sono stati
sostituiti dal metodo on e off.

$("#pippo").on("click", function(event){
   alert($(this).text());
});
$("#pippo").off()
$("#pippo").off('click',)
Traversing
Traversing
Abbiamo visto i selettori e i filtri ma:
Selector context is implemented with the
.find() method; therefore, $('li.item-ii').find('li')
is equivalent to $('li', 'li.item-ii').
Metodi di traversing
                          •   .children()
•   .eq()                 •   .closest()
                              .find()
•   .filter()             •
                          •   .next()
•   .first()                  .nextAll()
                          •
•   .has()                •   .nextUntil()
                          •   .parent()
•   .is()
                          •   .parents()
•   .last()               •   .parentsUntil()
•   .map()                •   .prev()
                          •   .prevAll()
•   .not()
                          •   .prevUntil()
•   .slice()              •   .siblings()
Manipolare il DOM
         Al fine di
         raggiungere i nostri
         obbiettivi spesso
         serve intervenire sul
         DOM, andando ad
         aggiungere,
         rimuovere o
         modificare elementi.
DOM Insertion, Inside
.append()           <h2>Greetings</h2>
                    <div class="container">
Inserisce il          <div class="inner">Hello</div>

contenuto passato     <div class="inner">Goodbye</div>
                    </div>
come parametro
alla fine degli     $('.inner').append('<p>Test</p>');

elementi passati
come insieme
DOM Insertion, Inside [2]
.appendTo()         <h2>Greetings</h2>
                    <div class="container">
Inserisce ogni        <div class="inner">Hello</div>
elemento              <div 
                    class="inner">Goodbye</div>
individuato nella
                    </div>
selezione a tutti
gli elementi        $('<p>Test</p>').appendTo('.inner');

passati come
parametro.
DOM Insertion, Inside [3]
<h2>Greetings</h2>
<div class="container">
  <div class="inner">Hello</div>        • .prepend()
  <div class="inner">Goodbye</div>
</div>
                                        • .prependTo()
$('.inner').prepend('<p>Test</p>');
$('<p>Test</p>').prependTo('.inner');
DOM Insertion, Around
• .wrap()       <div class="container">
                 <div class="inner">Hello</div>
• .wrapAll()   <div class="inner">Goodbye</div>
               </div>
• .wrapInner()
                $('.inner').wrap('<div class="new" 
                />');


                $('.inner').wrapAll('<div 
                class="new" />');


                $('.inner').wrapInner('<div class="new" 
                />');
DOM Insertion, Outside
•   .after()          <div class="container">
                        <h2>Greetings</h2>
•   .before()           <div class="inner">Hello</div>
•   .insertAfter()      <div 
                      class="inner">Goodbye</div>
•   .insertBefore()   </div>
                      $('.inner').after('<p>Test</p>');
Removal, Replacement
•   .detach()     • .replaceAll()
•   .empty()      • .replaceWith()
•   .remove()
•   .unwrap()
Copying
• .clone()
<div class="container">
  <div class="hello">Hello</div>
  <div class="goodbye">Goodbye</div>
</div>


$('.hello').clone().appendTo('.goodbye');
Domande?

               Slide:
http://www.slideshare.net/ilbonzo
               Code:
https://github.com/ilbonzo/Cypher
                mail:
        matteo@magni.me

More Related Content

Similar to jQuery - 4 | WebMaster & WebDesigner

jQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesignerjQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesigner
Matteo Magni
 
jQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesignerjQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesigner
Matteo Magni
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesigner
Matteo Magni
 
Html5 - Un anno dopo
Html5 - Un anno dopoHtml5 - Un anno dopo
Html5 - Un anno dopo
Cristiano Rastelli
 
AngularJS 2.0
AngularJS 2.0 AngularJS 2.0
AngularJS 2.0
Vittorio Conte
 
jQuery e i suoi plugin
jQuery e i suoi pluginjQuery e i suoi plugin
jQuery e i suoi plugin
Pasquale Puzio
 
Html e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesignerHtml e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesigner
Matteo Magni
 
Umarells
UmarellsUmarells
Umarells
Guido Bellomo
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0
firenze-gtug
 
Gitt (part 2 of 2)
Gitt (part 2 of 2)Gitt (part 2 of 2)
Gitt (part 2 of 2)
Ali Servet Donmez
 
Perl Template Toolkit
Perl Template ToolkitPerl Template Toolkit
Perl Template Toolkit
Stefano Rodighiero
 
jQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesignerjQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesigner
Matteo Magni
 
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenantSaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
Tassi Francesco
 
Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1
Steve Maraspin
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDB
Stefano Dindo
 
SaaS con Symfony2
SaaS con Symfony2SaaS con Symfony2
SaaS con Symfony2
Matteo Moretti
 
Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
Alessandro Martin
 

Similar to jQuery - 4 | WebMaster & WebDesigner (20)

jQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesignerjQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesigner
 
jQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesignerjQuery - 2 | WebMaster & WebDesigner
jQuery - 2 | WebMaster & WebDesigner
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesigner
 
Html5 - Un anno dopo
Html5 - Un anno dopoHtml5 - Un anno dopo
Html5 - Un anno dopo
 
AngularJS 2.0
AngularJS 2.0 AngularJS 2.0
AngularJS 2.0
 
jQuery e i suoi plugin
jQuery e i suoi pluginjQuery e i suoi plugin
jQuery e i suoi plugin
 
Html e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesignerHtml e Css - 4 | WebMaster & WebDesigner
Html e Css - 4 | WebMaster & WebDesigner
 
Umarells
UmarellsUmarells
Umarells
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0
 
Gitt (part 2 of 2)
Gitt (part 2 of 2)Gitt (part 2 of 2)
Gitt (part 2 of 2)
 
Perl Template Toolkit
Perl Template ToolkitPerl Template Toolkit
Perl Template Toolkit
 
jQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesignerjQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesigner
 
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenantSaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
SaaS con Symfony2 un caso *molto* concreto di applicazione multitenant
 
Domino e HTML5, #dd13
Domino e HTML5, #dd13Domino e HTML5, #dd13
Domino e HTML5, #dd13
 
Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1Fare con Zend Framework 2 ciò che facevo con ZF1
Fare con Zend Framework 2 ciò che facevo con ZF1
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDB
 
SaaS con Symfony2
SaaS con Symfony2SaaS con Symfony2
SaaS con Symfony2
 
Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
 

More from Matteo Magni

Introduzione DevOps con Ansible
Introduzione DevOps con AnsibleIntroduzione DevOps con Ansible
Introduzione DevOps con Ansible
Matteo Magni
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesigner
Matteo Magni
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesigner
Matteo Magni
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesigner
Matteo Magni
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesigner
Matteo Magni
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesigner
Matteo Magni
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesigner
Matteo Magni
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner
Matteo Magni
 
jQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesignerjQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesigner
Matteo Magni
 
Javascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerJavascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesigner
Matteo Magni
 
Javascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesignerJavascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesigner
Matteo Magni
 
Javascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesignerJavascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesigner
Matteo Magni
 
Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
Matteo Magni
 
Javascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesignerJavascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesigner
Matteo Magni
 
Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesigner
Matteo Magni
 
Web Usability - 3 | WebMaster & WebDesigner
 Web Usability - 3 | WebMaster & WebDesigner Web Usability - 3 | WebMaster & WebDesigner
Web Usability - 3 | WebMaster & WebDesigner
Matteo Magni
 
Web Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerWeb Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesigner
Matteo Magni
 
Web Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesignerWeb Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesigner
Matteo Magni
 
Seo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesignerSeo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesigner
Matteo Magni
 
Seo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesignerSeo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesigner
Matteo Magni
 

More from Matteo Magni (20)

Introduzione DevOps con Ansible
Introduzione DevOps con AnsibleIntroduzione DevOps con Ansible
Introduzione DevOps con Ansible
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesigner
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesigner
 
HTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesignerHTML5 e Css3 - 5 | WebMaster & WebDesigner
HTML5 e Css3 - 5 | WebMaster & WebDesigner
 
HTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesignerHTML5 e Css3 - 4 | WebMaster & WebDesigner
HTML5 e Css3 - 4 | WebMaster & WebDesigner
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesigner
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesigner
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner
 
jQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesignerjQuery - 3 | WebMaster & WebDesigner
jQuery - 3 | WebMaster & WebDesigner
 
Javascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerJavascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesigner
 
Javascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesignerJavascript - 6 | WebMaster & WebDesigner
Javascript - 6 | WebMaster & WebDesigner
 
Javascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesignerJavascript - 5 | WebMaster & WebDesigner
Javascript - 5 | WebMaster & WebDesigner
 
Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
 
Javascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesignerJavascript - 2 | WebMaster & WebDesigner
Javascript - 2 | WebMaster & WebDesigner
 
Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesigner
 
Web Usability - 3 | WebMaster & WebDesigner
 Web Usability - 3 | WebMaster & WebDesigner Web Usability - 3 | WebMaster & WebDesigner
Web Usability - 3 | WebMaster & WebDesigner
 
Web Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerWeb Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesigner
 
Web Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesignerWeb Usability - 1 | WebMaster & WebDesigner
Web Usability - 1 | WebMaster & WebDesigner
 
Seo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesignerSeo e Web Marketing - 5 | WebMaster & WebDesigner
Seo e Web Marketing - 5 | WebMaster & WebDesigner
 
Seo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesignerSeo e Web Marketing - 3 | WebMaster & WebDesigner
Seo e Web Marketing - 3 | WebMaster & WebDesigner
 

jQuery - 4 | WebMaster & WebDesigner

  • 2. Eventi jQuery ovviamente ci mette a disposizione una serie di semplici metodi per gestire gli eventi generati dal browser e I metodi hanno una nomenclatura molto simile agli eventi che già dall'utente. conosciamo.
  • 3. Browser Events • .error() <img src=”noimage.ppp” alt="Book" id="book" /> $('#book')   .error(function() {     alert('Handler for .error() called.')   })   .attr("src", "missing.png"); ci permette di gestire eventuali errori tipo la mancanza di una immagine.
  • 4. Browser Events [2] • .resize() $(window).resize(function() {   alert($(window).width()); }); Gestisce se qualcuno modifica le dimensioni della finestra. • .scroll() <div id="target" style="overflow: scroll; width: 200px; height:  100px;">   Lorem ipsum dolor sit amet, consectetur adipisicing elit,   sed do eiusmod tempor incididunt ut labore et dolore magna </div> $('#target').scroll(function() {alert('attento');});
  • 5. Event Loading il codice viene eseguito quando il DOM è pronto ma prima che le immagini ed altri elementi grafici siano caricati $(document).ready(function(){    alert("welcome");  }); Qui aspetto che tutti gli elementi siano caricati $(window).load(function(){    alert("welcome");  });
  • 6. Form Events • .blur() • .change() • .focus() • .select() • .submit()
  • 7. Keyboard Events • .keydown() • .keypress() • .keyup()
  • 8. Mouse Events • .click() • .mousedown() • .dblclick() • .mouseenter() • .focusin() • .mouseleave() • .focusout() • .mousemove() • .hover() • .mouseout() • .mouseover() • .mouseup()
  • 9. bind() Tutti i metodi semplificati per gestire gli eventi utilizzano il metodo bind() al quale va passato il nome dell'evento. $('#foo').bind('click', function() {   alert('User clicked on "foo."'); });
  • 10. bind() [2] Il vantaggio è che possiamo passare più eventi $('#foo').bind('click onmouseover',  function() {   alert('User clicked or mouseover on  "foo."'); });
  • 11. unbind() Il metodo unbind permette di rimuovere gli eventi precedentemente collegati. //rimuovo gli eventi $('#foo').unbind(); //specifico il tipo di evento $('#foo').unbind('click');
  • 12. on() e off() Dalla versione 1.7 i metodi bind e unbind sono stati sostituiti dal metodo on e off. $("#pippo").on("click", function(event){    alert($(this).text()); }); $("#pippo").off() $("#pippo").off('click',)
  • 14. Traversing Abbiamo visto i selettori e i filtri ma: Selector context is implemented with the .find() method; therefore, $('li.item-ii').find('li') is equivalent to $('li', 'li.item-ii').
  • 15. Metodi di traversing • .children() • .eq() • .closest() .find() • .filter() • • .next() • .first() .nextAll() • • .has() • .nextUntil() • .parent() • .is() • .parents() • .last() • .parentsUntil() • .map() • .prev() • .prevAll() • .not() • .prevUntil() • .slice() • .siblings()
  • 16. Manipolare il DOM Al fine di raggiungere i nostri obbiettivi spesso serve intervenire sul DOM, andando ad aggiungere, rimuovere o modificare elementi.
  • 17. DOM Insertion, Inside .append() <h2>Greetings</h2> <div class="container"> Inserisce il   <div class="inner">Hello</div> contenuto passato   <div class="inner">Goodbye</div> </div> come parametro alla fine degli $('.inner').append('<p>Test</p>'); elementi passati come insieme
  • 18. DOM Insertion, Inside [2] .appendTo() <h2>Greetings</h2> <div class="container"> Inserisce ogni   <div class="inner">Hello</div> elemento   <div  class="inner">Goodbye</div> individuato nella </div> selezione a tutti gli elementi $('<p>Test</p>').appendTo('.inner'); passati come parametro.
  • 19. DOM Insertion, Inside [3] <h2>Greetings</h2> <div class="container">   <div class="inner">Hello</div> • .prepend()   <div class="inner">Goodbye</div> </div> • .prependTo() $('.inner').prepend('<p>Test</p>'); $('<p>Test</p>').prependTo('.inner');
  • 20. DOM Insertion, Around • .wrap() <div class="container">   <div class="inner">Hello</div> • .wrapAll()   <div class="inner">Goodbye</div> </div> • .wrapInner() $('.inner').wrap('<div class="new"  />'); $('.inner').wrapAll('<div  class="new" />'); $('.inner').wrapInner('<div class="new"  />');
  • 21. DOM Insertion, Outside • .after() <div class="container">   <h2>Greetings</h2> • .before()   <div class="inner">Hello</div> • .insertAfter()   <div  class="inner">Goodbye</div> • .insertBefore() </div> $('.inner').after('<p>Test</p>');
  • 22. Removal, Replacement • .detach() • .replaceAll() • .empty() • .replaceWith() • .remove() • .unwrap()
  • 24. Domande? Slide: http://www.slideshare.net/ilbonzo Code: https://github.com/ilbonzo/Cypher mail: matteo@magni.me