<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Override une fonction]]></title><description><![CDATA[<p dir="auto"><strong>Override une fonction</strong><br />
Dans un de mes récents projets j'ai eu besoin d'override la fonction Alert en javascript afin qu'elle affiche une popup stylisé, en accord avec le thème de mon site et qui ne peux pas être bloquée nativement.<br />
L'idée peut paraitre facile mais je n'avais pas imaginé que l'on pouvait modifier une fonction membre de window donc voilà mon code fonctionnant avec un modal bootstrap (Pour ce qui ne connaissent pas bootstrap <a href="http://getbootstrap.com/javascript/" rel="nofollow ugc">http://getbootstrap.com/javascript/</a>). Bien que je ne connaissais pas la technique dans ce cas précis, je la classe tout de même comme base à avoir)</p>
<pre><code>    window.alert = function(message){
        $("#fast_alert_js").find("p").html(message);
        $(".modal").modal('show');
    }
</code></pre>
<p dir="auto">L'argument message est celui de base de la fonction mais vous pouvez très bien rajouter des arguments.<br />
Le but ici est donc d'afficher le message dans une balise de paragraphe. Bootstrap se charge du reste.</p>
<p dir="auto"><img src="https://puu.sh/8QhGe.png" alt="8QhGe.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Le rendu obtenu est ainsi bien mieux que celui de départ. Il vous permettras d'éviter de recréer une fonction pour une même utilité.<br />
 <br />
A noter que ce "tutoriel" ou plutôt code source utilise JQuery pour fonctionner<br />
En passant : Si vous souhaitez utiliser ce même exemple appliqué à JQuery :</p>
<pre><code>(function() {
var originMethod= jQuery.fn.setArray; //Sauvegarde de la fonction de base
jQuery.fn.setArray = function() { // Début de l'override
console.log( this, arguments ); // Log
return originMethod.apply( this, arguments ); // Exécution de la méthode originale
};
})();
</code></pre>
<p dir="auto">Code provenant de la documentation officielle. Il est basé sur la même base que le premier exemple.<br />
Au lieu de simplement exécuter la fonction, il va simplement log l'événement avant d’exécuter normalement celle-ci.</p>
<p dir="auto">Evaelis</p>
]]></description><link>http://new.melinyel.net/topic/717/override-une-fonction</link><generator>RSS for Node</generator><lastBuildDate>Fri, 22 May 2026 16:53:26 GMT</lastBuildDate><atom:link href="http://new.melinyel.net/topic/717.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 May 2014 21:51:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Override une fonction on Sun, 18 May 2014 20:52:47 GMT]]></title><description><![CDATA[<p dir="auto">A vrai dire, depuis que j'ai découvert les applications de bootstrap couplé à jquery, j'utilise plus que ça.</p>
]]></description><link>http://new.melinyel.net/post/7776</link><guid isPermaLink="true">http://new.melinyel.net/post/7776</guid><dc:creator><![CDATA[Evaelis]]></dc:creator><pubDate>Sun, 18 May 2014 20:52:47 GMT</pubDate></item><item><title><![CDATA[Reply to Override une fonction on Sun, 18 May 2014 00:13:13 GMT]]></title><description><![CDATA[<p dir="auto">Merci du partage.<br />
Etrangement, j'ai jamais utilisé le JS de Bootstrap, je fais souvent from scratch. J'y penserais. <img src="http://new.melinyel.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=b824361be89" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">+1 rep.</p>
]]></description><link>http://new.melinyel.net/post/7732</link><guid isPermaLink="true">http://new.melinyel.net/post/7732</guid><dc:creator><![CDATA[Azad]]></dc:creator><pubDate>Sun, 18 May 2014 00:13:13 GMT</pubDate></item></channel></rss>