MVPcore est une bibliothèque JavaScript, alternative à JQuery,
très légère, plus performante et utilisant un JavaScript plus récent.
Elle fournit des raccourcis et des accès aux sélections d'objets
par une syntaxe respectant les règles JavaScript plutôt qu'en mettant
en place un pseudo-langage.
Son usage est très simple.
Téléchargement
Vous pouvez télécharger la dernière version :
-
Version minifiée (recommandée)
- Version source
Inclusion
Non recommandé :
<script src='http://opensource.mvp.eu/libs/_MVP.min.js'></script>
Vous pouvez aussi télécharger la bibliothèque et l'intégrer dans vos sources (meilleure solution). Dans ce cas,
si vous ne désirer que le support des navigateurs plus récents, voud pouvez récupérer plutôt
_MVP6.min.js, plus petit
que vous devrez placer dans le même dossier que
_MVP.min.js (par exemple js).
<script src='/js/_MVP.min.js'></script>
fonction _(selecteur)
Cette fonction permet d'obtenir un objet via un sélecteur. L'objet est recherché via le
selecteur dans
document.
Si l'objet n'est pas trouvé
null est renvoyé.
Exemple :
var obj=_('#toto') ;
obj.style.color='red' ;
_('div#truc').style.fontSize='20px' ;
fonction _(source, selecteur)
Cette fonction permet d'obtenir un objet via un sélecteur dans un objet parent.
L'objet est recherché via le
selecteur dans
source.
Elle admet éventuellement un premier paramètre
optionnel précisant où doit être recherché l'objet voulu (sans ce paramètre l'objet est cherché dans
document.
Exemple :
var ifr=_('iframe') ;
_(ifr, 'input#login').style.background = 'orange' ;
fonction _all(selecteur)
Cette fonction permet d'obtenir un ensemble d'objet via un sélecteur.
Le résultat est utilisable comme un tableau (forEach, ...) et manipulable avec les outils classiques (.length, [i]).
Exemples :
_all('input').forEach(function(inp) {
inp.style.background = 'red' ;
}) ;
var tab=_("input[type='text']") ;
for (var i=0 ; i<tab.length ; i++)
tab[i].style.border = 'solid 2px orange' ;
Important : le set est défini pous le style, classList et méthodes afin de s'appliquer à l'ensemble des objets.
Ainsi, la syntaxe est légère et vous connaissez les noms de paramètres (plutôt que d'utiliser le 'css' de jQuery).
Exemples :
_all('input').style.background = 'red' ;
_all( "input[type='text']").style.border = 'solid 2px orange' ;
_all('#toto > div').classList.toggle('active') ;
_all("input").addEventListener('keyup', function() {
console.log('KeyUp', this.value ;
}) ;
De plus, le get est redéfini pour renvoyer la valeur du premier élément du tableau.
fonction _all(source, selecteur)
Comme dans le cas de la fonction _, la fonction _all peut avoir un premier paramètre source, qui indique dans quel objet on commence
la recherche.
fonction _ancestor(source, selecteur, orMe)
Cette fonction remonte à partir de l'objet source pour trouver le premier objet satisfaisant la condition selecteur.
Le paramètre optionnel orMe permet de préciser (avec true) si on doit renvoyer l'objet lui-même si il satisfait le sélecteur.
Si aucun objet n'est trouvé, le retour est null.
Exemple :
var tableParent = _ancestor(obj, 'table') ;
Support des navigateurs plus anciens
MVPcore n'a pas (contrairement à jQuery) vocation à être utilisée sur de très vieux navigateurs.
Cependant, elle fonctionne sur les navigateurs récents (Firefox, Chrome, Safari, Edge) et sur Internet Explorer (qui ne supporte pas certaines fonctionnalités JavaScript (proxy) utilisées
dans son codage.
Cependant, si votre projet n'a besoin que de fonctionner sur des navigateurs supportant ECMAScript 6, vous pouvez utiliser _MVP6.js (plus petit).
Cette documentation préliminaire est en cours d'écriture !