A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
Franchement, à part une gestion des events je n'arrive pas à comprendre
à quoi d'autre ça pourrait servir (les sélecteurs CSS), hors une fois
qu'on a compris comment marche les events et surtout comment déléguer
(event delegation) je ne vois pas l'intérêt du sélecteur CSS, si ce
n'est d'aller rapidement placer XXX listeners sur XXX éléments, ce qui
est *très* mal.
A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
Franchement, à part une gestion des events je n'arrive pas à comprendre
à quoi d'autre ça pourrait servir (les sélecteurs CSS), hors une fois
qu'on a compris comment marche les events et surtout comment déléguer
(event delegation) je ne vois pas l'intérêt du sélecteur CSS, si ce
n'est d'aller rapidement placer XXX listeners sur XXX éléments, ce qui
est *très* mal.
A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
Franchement, à part une gestion des events je n'arrive pas à comprendre
à quoi d'autre ça pourrait servir (les sélecteurs CSS), hors une fois
qu'on a compris comment marche les events et surtout comment déléguer
(event delegation) je ne vois pas l'intérêt du sélecteur CSS, si ce
n'est d'aller rapidement placer XXX listeners sur XXX éléments, ce qui
est *très* mal.
Laurent vilday :A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
Franchement, à part une gestion des events je n'arrive pas à
comprendre à quoi d'autre ça pourrait servir (les sélecteurs CSS),
hors une fois qu'on a compris comment marche les events et surtout
comment déléguer (event delegation) je ne vois pas l'intérêt du
sélecteur CSS, si ce n'est d'aller rapidement placer XXX listeners sur
XXX éléments, ce qui est *très* mal.
Laurent, je suis très surpris de ces lignes, pourrais-tu détailler ?
Laurent vilday :
A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
Franchement, à part une gestion des events je n'arrive pas à
comprendre à quoi d'autre ça pourrait servir (les sélecteurs CSS),
hors une fois qu'on a compris comment marche les events et surtout
comment déléguer (event delegation) je ne vois pas l'intérêt du
sélecteur CSS, si ce n'est d'aller rapidement placer XXX listeners sur
XXX éléments, ce qui est *très* mal.
Laurent, je suis très surpris de ces lignes, pourrais-tu détailler ?
Laurent vilday :A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
Franchement, à part une gestion des events je n'arrive pas à
comprendre à quoi d'autre ça pourrait servir (les sélecteurs CSS),
hors une fois qu'on a compris comment marche les events et surtout
comment déléguer (event delegation) je ne vois pas l'intérêt du
sélecteur CSS, si ce n'est d'aller rapidement placer XXX listeners sur
XXX éléments, ce qui est *très* mal.
Laurent, je suis très surpris de ces lignes, pourrais-tu détailler ?
<ul id="mon_ul">
var ul = document.getElementById('ul');
<ul id="mon_ul">
var ul = document.getElementById('ul');
<ul id="mon_ul">
var ul = document.getElementById('ul');
Dans son message précédent, SAM a écrit :<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
et le survol fonctionne. (IE7 il est vrai)
Par contre avec IE7 la première table est moins large que les autres
(alors qu'avec FF, Opera et Safari, elles sont de largeur égales).
Dans son message précédent, SAM a écrit :
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
et le survol fonctionne. (IE7 il est vrai)
Par contre avec IE7 la première table est moins large que les autres
(alors qu'avec FF, Opera et Safari, elles sont de largeur égales).
Dans son message précédent, SAM a écrit :<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
et le survol fonctionne. (IE7 il est vrai)
Par contre avec IE7 la première table est moins large que les autres
(alors qu'avec FF, Opera et Safari, elles sont de largeur égales).
Le Mon, 01 Dec 2008 21:42:45 +0100, SAM a écrit:<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Mais là, je vois pas. Comment est-il possible que dans cet exemple, la
couleur de fond des lignes paires soit différente de celle des
lignes impaires puisque il n'y a pas de 'class=' pour différencer les
lignes.
J'ai regardé le source et les lignes sont identiques... ???
Le Mon, 01 Dec 2008 21:42:45 +0100, SAM a écrit:
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Mais là, je vois pas. Comment est-il possible que dans cet exemple, la
couleur de fond des lignes paires soit différente de celle des
lignes impaires puisque il n'y a pas de 'class=' pour différencer les
lignes.
J'ai regardé le source et les lignes sont identiques... ???
Le Mon, 01 Dec 2008 21:42:45 +0100, SAM a écrit:<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Mais là, je vois pas. Comment est-il possible que dans cet exemple, la
couleur de fond des lignes paires soit différente de celle des
lignes impaires puisque il n'y a pas de 'class=' pour différencer les
lignes.
J'ai regardé le source et les lignes sont identiques... ???
A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
<ul id="mon_ul">
<li>contenu A</li>
<li>contenu B</li>
<li>contenu C</li>
<li>contenu D</li>
<li>contenu E</li>
</ul>
* C) méthode par délégation de l'événement
function getTarget(e)
{
var
evt = e || window.event,
target = evt.target || evt.srcElement;
return target && target.nodeType == 3 ? target.parentNode : target;
}
function listener(e)
{
var target = getTarget(e);
if ( target && target.nodeName == "LI" )
{
alert(target.innerHTML);
return false;
}
return true;
}
document.getElementById('ul').onclick = listener;
Constat :
*********
Méthode C :
+ concis
+ simple à comprendre une fois le concept d'event delegation appréhendé
- euhh, pour ma part pas de points négatifs pour cette méthode
+ nb listeners : 1 seul et unique
A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
<ul id="mon_ul">
<li>contenu A</li>
<li>contenu B</li>
<li>contenu C</li>
<li>contenu D</li>
<li>contenu E</li>
</ul>
* C) méthode par délégation de l'événement
function getTarget(e)
{
var
evt = e || window.event,
target = evt.target || evt.srcElement;
return target && target.nodeType == 3 ? target.parentNode : target;
}
function listener(e)
{
var target = getTarget(e);
if ( target && target.nodeName == "LI" )
{
alert(target.innerHTML);
return false;
}
return true;
}
document.getElementById('ul').onclick = listener;
Constat :
*********
Méthode C :
+ concis
+ simple à comprendre une fois le concept d'event delegation appréhendé
- euhh, pour ma part pas de points négatifs pour cette méthode
+ nb listeners : 1 seul et unique
A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
<ul id="mon_ul">
<li>contenu A</li>
<li>contenu B</li>
<li>contenu C</li>
<li>contenu D</li>
<li>contenu E</li>
</ul>
* C) méthode par délégation de l'événement
function getTarget(e)
{
var
evt = e || window.event,
target = evt.target || evt.srcElement;
return target && target.nodeType == 3 ? target.parentNode : target;
}
function listener(e)
{
var target = getTarget(e);
if ( target && target.nodeName == "LI" )
{
alert(target.innerHTML);
return false;
}
return true;
}
document.getElementById('ul').onclick = listener;
Constat :
*********
Méthode C :
+ concis
+ simple à comprendre une fois le concept d'event delegation appréhendé
- euhh, pour ma part pas de points négatifs pour cette méthode
+ nb listeners : 1 seul et unique
Laurent vilday wrote:A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
(...)<ul id="mon_ul">
<li>contenu A</li>
<li>contenu B</li>
<li>contenu C</li>
<li>contenu D</li>
<li>contenu E</li>
</ul>
(...)* C) méthode par délégation de l'événement
function getTarget(e)
{
var
evt = e || window.event,
target = evt.target || evt.srcElement;
return target && target.nodeType == 3 ? target.parentNode : target;
}
function listener(e)
{
var target = getTarget(e);
if ( target && target.nodeName == "LI" )
{
alert(target.innerHTML);
return false;
}
return true;
}
document.getElementById('ul').onclick = listener;
Constat :
*********
(...)Méthode C :
+ concis
+ simple à comprendre une fois le concept d'event delegation appréhendé
- euhh, pour ma part pas de points négatifs pour cette méthode
+ nb listeners : 1 seul et unique
Merci d'avoir pris le temps de rédiger cet exemple très clair !
Tu donne un exemple simple avec un ul contenant déjà un id... mais ce
n'est pas bien souvent le cas ! Jusqu'ici j'ai souvent été contraint
d'ajouter des id dans mon HTML uniquement pour m'éviter de faire de
parcourir laborieusement le DOM...
Exemple avec des infobulles à afficher avec quelques effets lorsque l'on
survole des icônes identifiées (aide contextuelle). Le contenu à
afficher est en title de chaque image. Soit on ne modifie pas son HTML
et on trouve un moyen de parcourir le DOM (ou le "vieux"
document.images[]) pour récupérer les images... soit on utilise un
sélecteur à la JQuery et c'est plié (sélecteur img avec telle classe et
title non vide).
J'ai eu à traiter ce genre de chose sun paquet de fois et avant de
connaître JQuery c'était assez lourdingue...
Laurent vilday wrote:
A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
(...)
<ul id="mon_ul">
<li>contenu A</li>
<li>contenu B</li>
<li>contenu C</li>
<li>contenu D</li>
<li>contenu E</li>
</ul>
(...)
* C) méthode par délégation de l'événement
function getTarget(e)
{
var
evt = e || window.event,
target = evt.target || evt.srcElement;
return target && target.nodeType == 3 ? target.parentNode : target;
}
function listener(e)
{
var target = getTarget(e);
if ( target && target.nodeName == "LI" )
{
alert(target.innerHTML);
return false;
}
return true;
}
document.getElementById('ul').onclick = listener;
Constat :
*********
(...)
Méthode C :
+ concis
+ simple à comprendre une fois le concept d'event delegation appréhendé
- euhh, pour ma part pas de points négatifs pour cette méthode
+ nb listeners : 1 seul et unique
Merci d'avoir pris le temps de rédiger cet exemple très clair !
Tu donne un exemple simple avec un ul contenant déjà un id... mais ce
n'est pas bien souvent le cas ! Jusqu'ici j'ai souvent été contraint
d'ajouter des id dans mon HTML uniquement pour m'éviter de faire de
parcourir laborieusement le DOM...
Exemple avec des infobulles à afficher avec quelques effets lorsque l'on
survole des icônes identifiées (aide contextuelle). Le contenu à
afficher est en title de chaque image. Soit on ne modifie pas son HTML
et on trouve un moyen de parcourir le DOM (ou le "vieux"
document.images[]) pour récupérer les images... soit on utilise un
sélecteur à la JQuery et c'est plié (sélecteur img avec telle classe et
title non vide).
J'ai eu à traiter ce genre de chose sun paquet de fois et avant de
connaître JQuery c'était assez lourdingue...
Laurent vilday wrote:A quoi peuvent bien servir les sélecteurs CSS dans une librairie JS ?
(...)<ul id="mon_ul">
<li>contenu A</li>
<li>contenu B</li>
<li>contenu C</li>
<li>contenu D</li>
<li>contenu E</li>
</ul>
(...)* C) méthode par délégation de l'événement
function getTarget(e)
{
var
evt = e || window.event,
target = evt.target || evt.srcElement;
return target && target.nodeType == 3 ? target.parentNode : target;
}
function listener(e)
{
var target = getTarget(e);
if ( target && target.nodeName == "LI" )
{
alert(target.innerHTML);
return false;
}
return true;
}
document.getElementById('ul').onclick = listener;
Constat :
*********
(...)Méthode C :
+ concis
+ simple à comprendre une fois le concept d'event delegation appréhendé
- euhh, pour ma part pas de points négatifs pour cette méthode
+ nb listeners : 1 seul et unique
Merci d'avoir pris le temps de rédiger cet exemple très clair !
Tu donne un exemple simple avec un ul contenant déjà un id... mais ce
n'est pas bien souvent le cas ! Jusqu'ici j'ai souvent été contraint
d'ajouter des id dans mon HTML uniquement pour m'éviter de faire de
parcourir laborieusement le DOM...
Exemple avec des infobulles à afficher avec quelques effets lorsque l'on
survole des icônes identifiées (aide contextuelle). Le contenu à
afficher est en title de chaque image. Soit on ne modifie pas son HTML
et on trouve un moyen de parcourir le DOM (ou le "vieux"
document.images[]) pour récupérer les images... soit on utilise un
sélecteur à la JQuery et c'est plié (sélecteur img avec telle classe et
title non vide).
J'ai eu à traiter ce genre de chose sun paquet de fois et avant de
connaître JQuery c'était assez lourdingue...
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
Fais ajouter 50 tables (ou plus) pour voir là comme ça.
- déjà là FF.3 est bp + rapide
- ensuite essaie de changer l'ordre gris/jaune
Mon IE.6 est bp + lent que FF.3
C'était le but de cette démo, soit dit au passage.
(lenteur relative d'IE avec les tables)
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
Fais ajouter 50 tables (ou plus) pour voir là comme ça.
- déjà là FF.3 est bp + rapide
- ensuite essaie de changer l'ordre gris/jaune
Mon IE.6 est bp + lent que FF.3
C'était le but de cette démo, soit dit au passage.
(lenteur relative d'IE avec les tables)
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
Fais ajouter 50 tables (ou plus) pour voir là comme ça.
- déjà là FF.3 est bp + rapide
- ensuite essaie de changer l'ordre gris/jaune
Mon IE.6 est bp + lent que FF.3
C'était le but de cette démo, soit dit au passage.
(lenteur relative d'IE avec les tables)
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
Fais ajouter 50 tables (ou plus) pour voir là comme ça.
- déjà là FF.3 est bp + rapide
- ensuite essaie de changer l'ordre gris/jaune
Mon IE.6 est bp + lent que FF.3
Non, ben justement, à peu près à égalité avec FF3 (P4HT 2,8GHz sous
XPSP3), que ce soit IE7, Opera ou Safari (les navigateurs "modernes"
installés sur ma machine).
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
Fais ajouter 50 tables (ou plus) pour voir là comme ça.
- déjà là FF.3 est bp + rapide
- ensuite essaie de changer l'ordre gris/jaune
Mon IE.6 est bp + lent que FF.3
Non, ben justement, à peu près à égalité avec FF3 (P4HT 2,8GHz sous
XPSP3), que ce soit IE7, Opera ou Safari (les navigateurs "modernes"
installés sur ma machine).
Ta remarque sur IE est injuste : Chez moi, il est aussi rapide que FF3
Fais ajouter 50 tables (ou plus) pour voir là comme ça.
- déjà là FF.3 est bp + rapide
- ensuite essaie de changer l'ordre gris/jaune
Mon IE.6 est bp + lent que FF.3
Non, ben justement, à peu près à égalité avec FF3 (P4HT 2,8GHz sous
XPSP3), que ce soit IE7, Opera ou Safari (les navigateurs "modernes"
installés sur ma machine).
SAM avait énoncé :<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>C'était le but de cette démo, soit dit au passage.
(lenteur relative d'IE avec les tables)
Donc IE7 s'est bien amélioré !
SAM avait énoncé :
<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>
C'était le but de cette démo, soit dit au passage.
(lenteur relative d'IE avec les tables)
Donc IE7 s'est bien amélioré !
SAM avait énoncé :<http://stephane.moriaux.pagesperso-orange.fr/truc/tables_un-sur-deux_rows_fr>C'était le but de cette démo, soit dit au passage.
(lenteur relative d'IE avec les tables)
Donc IE7 s'est bien amélioré !