<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.wiki.leomartin.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.wiki.leomartin.net/feed.php">
        <title>DokuWiki vpfjsphp</title>
        <description></description>
        <link>https://www.wiki.leomartin.net/</link>
        <image rdf:resource="https://www.wiki.leomartin.net/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-04-07T16:37:05+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:adding_touch_events&amp;rev=1457298130&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:analyzing_event_properties&amp;rev=1456090072&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:cancelling_default_behavior&amp;rev=1457261624&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:cleaning_up_event_issues&amp;rev=1457264035&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:creating_a_spinner_graphic_for_large_image_loads&amp;rev=1457269979&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:creating_dom_elements_with_events&amp;rev=1457265009&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:dealing_with_layers&amp;rev=1457297397&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:dragging_and_dropping&amp;rev=1457296346&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:handling_media_pauses&amp;rev=1457295779&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:introduction&amp;rev=1456089032&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:monitoring_media-ended_events&amp;rev=1457295682&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:next_steps&amp;rev=1457298919&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:playing_media_events&amp;rev=1457271466&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:preparing_svg_assets&amp;rev=1457296030&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:preventing_default_events&amp;rev=1457268356&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:removing_an_event&amp;rev=1457361161&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:removing_dom_elements_with_events&amp;rev=1457264292&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:setting_up_our_core_files&amp;rev=1457296172&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:starting_a_new_song&amp;rev=1457295887&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:starting_to_drag&amp;rev=1457296259&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:stopping_event_propagation&amp;rev=1457261246&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:understanding_event_propagation&amp;rev=1456272331&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:understanding_event_registration&amp;rev=1456089409&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:using_events_with_old_browsers&amp;rev=1456089660&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:what_we_ll_be_building&amp;rev=1457295973&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.wiki.leomartin.net/lib/tpl/dokuwiki/images/favicon.ico">
        <title>DokuWiki</title>
        <link>https://www.wiki.leomartin.net/</link>
        <url>https://www.wiki.leomartin.net/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:adding_touch_events&amp;rev=1457298130&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T22:02:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:adding_touch_events</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:adding_touch_events&amp;rev=1457298130&amp;do=diff</link>
        <description>&lt;- Dealing with layersNext steps -&gt;
adjust viewport


&lt;meta name=&quot;viewport&quot; content=&quot;width=1200&quot;&gt;
&lt;meta name=&quot;apple-mobile-web-app-capable&quot; content=&quot;yes&quot;&gt;


touchstart


function touch_start(e) {
  e.preventDefault();
  var which_art = e.target;
  var touch = e.touches[0];
  var move_offset_x = which_art.offsetLeft - touch.pageX; 
  var move_offset_y = which_art.offsetTop - touch.pageY;
  resetZ();
  which_art.style.zIndex = 10;
  
  which_art.addEventListener('touchmove', function() {
    var p…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:analyzing_event_properties&amp;rev=1456090072&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-02-21T22:27:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:analyzing_event_properties</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:analyzing_event_properties&amp;rev=1456090072&amp;do=diff</link>
        <description>&lt;- Using events with old browsersUnderstanding event propagation -&gt;
Une fois qu'un événement est enregistré et capturé, on obtient en retour du navigateur un objet événement (Event Object). Il peut différer selon la version du navigateur. Les données reçues dépendent aussi du type d'événement. Cependant la majorité des données est commune. On reçoit aussi beaucoup d'info sur l'environnement et le navigateur.</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:cancelling_default_behavior&amp;rev=1457261624&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T11:53:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:cancelling_default_behavior</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:cancelling_default_behavior&amp;rev=1457261624&amp;do=diff</link>
        <description>&lt;- Stopping event propagation Removing DOM elements with events -&gt;
annuler un comportement par défaut

Exemples :

	*  clic sur un lien
	*  soumission de formulaire

On utilise la méthode preventDefault()


&lt;a id=&quot;mon_lien&quot; href=&quot;http://link.org&quot;&gt;un lien&lt;/a&gt;

document.getElementById(&quot;mon_lien&quot;).addEventListener(&quot;click&quot;, function(e) {
  e.stopPropagation();
},false);</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:cleaning_up_event_issues&amp;rev=1457264035&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T12:33:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:cleaning_up_event_issues</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:cleaning_up_event_issues&amp;rev=1457264035&amp;do=diff</link>
        <description>&lt;- Removing DOM elements with eventsCreating DOM elements with events -&gt;

&lt;ul class=&quot;selecteur&quot;&gt;
  &lt;li&gt;&lt;img src=&quot;img_1.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_2.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_3.jpg&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

document.querySelector(&quot;.selecteur&quot;).addEventListener(&quot;click&quot;, function(e) {
  console.dir(e.target);
  if (e.target.tagName === &quot;IMG&quot;) {
  var nb_de_li_restants = this.querySelectorAll('li').length;
    if (nb_de_li_restants &gt; 1){
      var removeTarget = e.target.parentNode; // li
      r…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:creating_a_spinner_graphic_for_large_image_loads&amp;rev=1457269979&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T14:12:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:creating_a_spinner_graphic_for_large_image_loads</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:creating_a_spinner_graphic_for_large_image_loads&amp;rev=1457269979&amp;do=diff</link>
        <description>&lt;- Preventing default eventsPlaying media events -&gt;
Events Reference : developper.mozilla.org/en-US/docs/Web/Reference/Events

onload events


document.querySelector('img.preview').addeventListener('function(e) {
  var lowRes = e.target.src;
  var myOverlay = document.querySelector('.overlay');
  var HighRes = document.createElement('img');
  var mySpinner = document.createElement('img');
  
  myOverlay.style.display = 'block';
  highRes.className = 'bgImg';
  highRes.src = lowRes.substr(0,lowre…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:creating_dom_elements_with_events&amp;rev=1457265009&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T12:50:09+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:creating_dom_elements_with_events</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:creating_dom_elements_with_events&amp;rev=1457265009&amp;do=diff</link>
        <description>&lt;- Cleaning up event issuesRemoving an event -&gt;

&lt;ul class=&quot;selecteur&quot;&gt;
  &lt;li&gt;&lt;img src=&quot;img_1.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_2.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_3.jpg&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

document.querySelector(&quot;.selecteur&quot;).addEventListener(&quot;mouseover&quot;, function(e) {
  var mon_element = document.createelement('div');
  mon_element.id = &quot;mon_id&quot;;
  mon_element.className = &quot;ma_classe&quot;;
  e.target.parentNode.appendChild(mon_element);
  
  var mon_image = document.createElement(&quot;img&quot;);
  var image_loca…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:dealing_with_layers&amp;rev=1457297397&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:49:57+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:dealing_with_layers</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:dealing_with_layers&amp;rev=1457297397&amp;do=diff</link>
        <description>&lt;- Dragging and droppingAdding touch events -&gt;

(...)
  function resetZ() {
    var elements = document.querySelectorAll('img');
    for (var i = elements.length - 1; i &gt;= 0; i--) {
      elements[i].style.zIndex = 5;
    }
  }
(...)</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:dragging_and_dropping&amp;rev=1457296346&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:32:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:dragging_and_dropping</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:dragging_and_dropping&amp;rev=1457296346&amp;do=diff</link>
        <description>&lt;- Starting to dragDealing with layers -&gt;
html5rocks.com/en/tutorials/dnd/basics/

	*  dragstart
	*  drag
	*  dragenter
	*  dragleave
	*  dragover
	*  drop
	*  dragend


(...)

function move_start(e) {
  e.preventDefault();
}
function move_drag_over(e) {
  e.preventDefault(); // preventing quircky behaviour
}
function moveDrop(e) {
  e.preventDefault();
  which_art.style.left = e.pageX - my_x + 'px';
  which_art.style.top = e.pageY - my_y + 'px';
}

(...)
document.querySelector(&quot;body&quot;).addEventL…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:handling_media_pauses&amp;rev=1457295779&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:22:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:handling_media_pauses</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:handling_media_pauses&amp;rev=1457295779&amp;do=diff</link>
        <description>&lt;- Monitoring media-ended eventsStarting a new song -&gt;

(...)
var song_playing = document.querySelector(&quot;#player&quot;);

if (song_playing&quot;) {
  if (song_playing.paused) {
    songPlaying.play();
    e.target.id = &quot;playing&quot;;
  } else {
    songPlaying.play();
    e.target.id = &quot;paused&quot;;
  }
} else {
  (...) // previous code
}</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:introduction&amp;rev=1456089032&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-02-21T22:10:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:introduction</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:introduction&amp;rev=1456089032&amp;do=diff</link>
        <description>What you should know -&gt;
  - events propagation

	*  event registration in the capturing (?) as well as in the bublling face (re-?)
	*  stop propagation
	*  cancel an element or event default behaviour</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:monitoring_media-ended_events&amp;rev=1457295682&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:21:22+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:monitoring_media-ended_events</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:monitoring_media-ended_events&amp;rev=1457295682&amp;do=diff</link>
        <description>&lt;- Playing media eventsHandling media pauses -&gt;

(...)
audio_player.addEventListener('ended', function() {
  audio_player.parentNode.removeChild(audio_player);
  e.target.id = &quot;&quot;;
}



méthodes

	*  play
	*  pause
	*  ended
	*  ...</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:next_steps&amp;rev=1457298919&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T22:15:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:next_steps</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:next_steps&amp;rev=1457298919&amp;do=diff</link>
        <description>&lt;- Adding touch events -&gt;
	*  JavaScript and JSON
	*  JavaScript and AJAX
	*  JavaScript : enhancing the DOM</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:playing_media_events&amp;rev=1457271466&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T14:37:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:playing_media_events</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:playing_media_events&amp;rev=1457271466&amp;do=diff</link>
        <description>&lt;- Creating a spinner graphic for large image loadsMonitoring media-ended events -&gt;

&lt;ul class=&quot;player&quot;&gt;
  &lt;li data-src=&quot;audio/audio_1.mp3&quot;&gt;audio 1&lt;/li&gt;
  &lt;li data-src=&quot;audio/audio_2.mp3&quot;&gt;audio 2&lt;/li&gt;
  &lt;li data-src=&quot;audio/audio_3.mp3&quot;&gt;audio 3&lt;/li&gt;
&lt;/ul&gt;

var jukebox = document.querySelector('ul.player');
jukebox.addEventListener('click', function(e) {
  var audio_player = document.createElement('audio');
  var piste = e.target.getAttribute('data-src');
  
  e.target.id = &quot;playing&quot;;

  audio_pla…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:preparing_svg_assets&amp;rev=1457296030&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:27:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:preparing_svg_assets</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:preparing_svg_assets&amp;rev=1457296030&amp;do=diff</link>
        <description>&lt;- What we'll be buildingSetting up our core files -&gt;</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:preventing_default_events&amp;rev=1457268356&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T13:45:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:preventing_default_events</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:preventing_default_events&amp;rev=1457268356&amp;do=diff</link>
        <description>&lt;- Removing an eventCreating a spinner graphic for large image loads -&gt;

document.querySelector(&quot;.selecteur&quot;).addEventListener(&quot;contextmenu&quot;, function(e) {
  e.preventDefault();
  
  (...)
  
  e.target.addEventListener('mousemove', function(f) {
    mon_element.style.left = f.offsetX + 15 + 'px';
  }
}, false);</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:removing_an_event&amp;rev=1457361161&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-07T15:32:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:removing_an_event</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:removing_an_event&amp;rev=1457361161&amp;do=diff</link>
        <description>&lt;- Creating DOM elements with eventsPreventing default events -&gt;

&lt;ul class=&quot;selecteur&quot;&gt;
  &lt;li&gt;&lt;img src=&quot;img_1.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_2.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_3.jpg&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

document.querySelector(&quot;.selecteur&quot;).addEventListener(&quot;mouseover&quot;, function(e) {
  var mon_element = document.createElement('div');
  mon_element.id = &quot;mon_id&quot;;
  mon_element.className = &quot;ma_classe&quot;;
  e.target.parentNode.appendChild(mon_element);
  
  var mon_image = document.createElement(&quot;img&quot;);…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:removing_dom_elements_with_events&amp;rev=1457264292&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T12:38:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:removing_dom_elements_with_events</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:removing_dom_elements_with_events&amp;rev=1457264292&amp;do=diff</link>
        <description>&lt;- Cancelling default behaviorCleaning up event issues -&gt;

&lt;ul class=&quot;selecteur&quot;&gt;
  &lt;li&gt;&lt;img src=&quot;img_1.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_2.jpg&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;&lt;img src=&quot;img_3.jpg&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

document.querySelector(&quot;.selecteur&quot;).addEventListener(&quot;click&quot;, function(e) {
  console.log(e);
  var removeTarget = e.target.parentNode; // li
  removeTarget.parentNode.removeChild(removeTarget); // on sélectionne encore le parenty pour pouvoir utiliser la méthode removeChild()
}, false);

// code non suf…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:setting_up_our_core_files&amp;rev=1457296172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:29:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:setting_up_our_core_files</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:setting_up_our_core_files&amp;rev=1457296172&amp;do=diff</link>
        <description>&lt;- Preparing SVG assetsStarting to drag -&gt;
	*  draggagble attribute


[draggable] {
  // code CSS
}</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:starting_a_new_song&amp;rev=1457295887&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:24:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:starting_a_new_song</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:starting_a_new_song&amp;rev=1457295887&amp;do=diff</link>
        <description>&lt;- Handling media pausesWhat we'll be building -&gt;

(...)
if (song_playing) {
  (...)
  if (song_name === song_playing.getAttribute(&quot;src&quot;))  {

    if (song_playing.paused) {
      songPlaying.play();
      e.target.id = &quot;playing&quot;;
    } else {
      songPlaying.play();
      e.target.id = &quot;paused&quot;;
    }

  } else {

    song_playing.src = song_name;
    song_playing.play();
    if (document.querySelector(&quot;#playing&quot;)) {
        document.querySelector(&quot;#playing&quot;).id=&quot;&quot;;
    } else {
        docum…</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:starting_to_drag&amp;rev=1457296259&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:30:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:starting_to_drag</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:starting_to_drag&amp;rev=1457296259&amp;do=diff</link>
        <description>&lt;- Setting up our core filesDragging and dropping -&gt;
	*  namespacing


var drag_n_drop = (function(){
  // protected namespace
  var my_x = &quot;&quot;;
  var my_y = &quot;&quot;;
  var which_art = &quot;&quot;;

  function move_start(e) {
    which_art = e.target;
    my_x = e.offsetX === undefined ? e.layerX : e.offsetX; // le premier étant supporté par firefox, le second par webkit + IE (plus exactement si offsetX n'est pas supporté on passe à l'autre méthode.
    my_y =  e.offsetY === undefined ? e.layerY : e.offsetY;
 …</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:stopping_event_propagation&amp;rev=1457261246&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T11:47:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:stopping_event_propagation</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:stopping_event_propagation&amp;rev=1457261246&amp;do=diff</link>
        <description>&lt;- Understanding event propagationCancelling default behavior -&gt;
Méthode normale

stopPropagation()


mon_element.addEventListener('click',function(e) {
  console.log(&quot;clic sur mon_element.&quot;);
  e.stopPropagation();
}, false);


&lt;IE8

on assigne la valeur true à la propriété cancelbubble

cancelbubble = true;</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:understanding_event_propagation&amp;rev=1456272331&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-02-24T01:05:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:understanding_event_propagation</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:understanding_event_propagation&amp;rev=1456272331&amp;do=diff</link>
        <description>&lt;- Analyzing event propertiesStopping event propagation -&gt;
Event propagation :

	*  lorsqu'un élément parent capte les événements liés aux éléments enfants.
	*  C'est une des raisons de préférer addEventListener()

capturing vs bubbling

2 différents modèles de propagation différents selon les navigateurs.</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:understanding_event_registration&amp;rev=1456089409&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-02-21T22:16:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:understanding_event_registration</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:understanding_event_registration&amp;rev=1456089409&amp;do=diff</link>
        <description>&lt;- Using the exercise filesUsing events with old browsers -&gt;
Le javascript éxécute habituellement le code de manière séquentielle, dans l'ordre où celui-ci est lu par le navigateur.

Les événements permettent de faire exécuter du code au navigateur lorsque ceux-ci sont triggered par le navigateur.</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:using_events_with_old_browsers&amp;rev=1456089660&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-02-21T22:21:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:using_events_with_old_browsers</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:using_events_with_old_browsers&amp;rev=1456089660&amp;do=diff</link>
        <description>&lt;- Understanding event registrationAnalyzing event properties -&gt;
Problème des vieux navigateurs : principalement &lt;= IE8 qui utilisent la méthode attachEvent().

	&quot; IE9 : addEventListener()&quot;


document.getElementById('mon_id').addEventListener('&lt;event&gt;', function() { &lt;code à exécuter&gt; }, &lt;booléen:type de propagation&gt;);</description>
    </item>
    <item rdf:about="https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:what_we_ll_be_building&amp;rev=1457295973&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-03-06T21:26:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vpfjsphp:what_we_ll_be_building</title>
        <link>https://www.wiki.leomartin.net/doku.php?id=vpfjsphp:what_we_ll_be_building&amp;rev=1457295973&amp;do=diff</link>
        <description>&lt;- Starting a new songPreparing SVG assets -&gt;</description>
    </item>
</rdf:RDF>
