{"id":265,"date":"2009-07-28T18:37:34","date_gmt":"2009-07-28T16:37:34","guid":{"rendered":"http:\/\/blog.kodono.info\/wordpress\/?p=265"},"modified":"2009-08-14T14:44:37","modified_gmt":"2009-08-14T12:44:37","slug":"stopper-la-propagation-dune-action","status":"publish","type":"post","link":"https:\/\/blog.kodono.info\/wordpress\/2009\/07\/28\/stopper-la-propagation-dune-action\/","title":{"rendered":"Stopper la propagation d&#8217;une action [Programmation]"},"content":{"rendered":"<p>[niveau: expert]<\/p>\n<p>Lorsque vous avez un bouton <em>&lt;button&gt;<\/em> quelque part dans un formulaire HTML, alors que vous cliquez dessus avec Firefox, ce dernier va vouloir envoyer le formulaire, alors m\u00eame que le bouton n&#8217;a pas cet objectif. En effet, supposons que vous vouliez que l&#8217;action <em>onclick<\/em> actionne une quelconque fonction javascript de votre cru.<\/p>\n<p>Pour \u00e9viter ce comportement avec Firefox, on peut essayer d&#8217;ins\u00e9rer un <em>return false<\/em> qui aura plus ou moins de succ\u00e8s:<\/p>\n<div class=\"code\">\n<pre class=\"xml html\">&lt;button id=\"myButton\" onclick=\"myFunction(); return false;\"&gt;do it!&lt;\/button&gt;<\/pre>\n<\/div>\n<p>Le <em>return false<\/em> donnera un r\u00e9sultat tr\u00e8s al\u00e9atoire, et c&#8217;est pourquoi je conseille plut\u00f4t d&#8217;utiliser une fonction qui va stopper la propagation de l&#8217;\u00e9v\u00e8nement :<\/p>\n<div class=\"code\">\n<pre class=\"xml html\">&lt;button id=\"myButton\" onclick=\"stopAction(event); myFunction();\"&gt;do it!&lt;\/button&gt;<\/pre>\n<\/div>\n<div class=\"code script\">\n<pre class=\"js\">function stopAction(e) {\r\n  if (!e) e = window.event;\r\n  if (e.cancelBubble != undefined)\r\n    e.cancelBubble = true;\r\n  if (typeof e.stopPropagation != \"undefined\") {\r\n    e.stopPropagation();\r\n    e.preventDefault();\r\n  }\r\n  return false;\r\n}<\/pre>\n<\/div>\n<p>Avec \u00e7a, lorsque vous cliquez sur le bouton, la page ne devrait pas \u00eatre recharg\u00e9e.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[niveau: expert] Lorsque vous avez un bouton &lt;button&gt; quelque part dans un formulaire HTML, alors que vous cliquez dessus avec Firefox, ce dernier va vouloir envoyer le formulaire, alors m\u00eame que le bouton n&#8217;a pas cet objectif. En effet, supposons que vous vouliez que l&#8217;action onclick actionne une quelconque fonction javascript de votre cru. Pour [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","hide_page_title":"","footnotes":""},"categories":[20,33],"tags":[17,24,155,158],"class_list":["post-265","post","type-post","status-publish","format-standard","hentry","category-niveau-expert","category-programmation","tag-firefox","tag-javascript","tag-niveau-expert","tag-programmation"],"_links":{"self":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/comments?post=265"}],"version-history":[{"count":12,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/265\/revisions"}],"predecessor-version":[{"id":294,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/posts\/265\/revisions\/294"}],"wp:attachment":[{"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/media?parent=265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/categories?post=265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kodono.info\/wordpress\/wp-json\/wp\/v2\/tags?post=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}