Question

Comme nous sommes confrontés à des problèmes de performance dans une application GWT mobile Je jetai un œil dans le code Google Wave car il est développé avec GWT.

Je pense que tous les boutons, il y a des widgets mais si vous regardez en HTML généré avec Firebug vous ne voyez pas d'attributs onclick set sur divs cliquables. Je me demande comment ils y parviennent avec un élément que les questions ou cliquez sur les événements MouseDown et apparemment être ni un widget ni injecté avec l'attribut onclick.

Etre capable de créer ces composants serait sûrement me prendre un peu plus loin à l'optimisation des performances.

Merci. ps: wasnt google va code client open source aussi. Ont pas été en mesure de le trouver.

Autres conseils

Vous ne devez pas mettre un attribut onclick sur le HTML pour le rendre ont un gestionnaire onclick. Ceci est un exemple très simple:

<div id="mydiv">Regular old div</div>

Ensuite, dans le script:

document.getElementById('mydiv').onclick = function() { 
    alert('hello!');
}

Ils ne voulaient pas définir la propriété onclick directement, il aurait été fixé dans le code GWT ou via une autre bibliothèque Javascript.

Vous pouvez accrocher des fonctions à l'événement onclick en utilisant JavaScript. Voici un exemple en utilisant jQuery :

$(document).ready(function(){
    $("#div-id").click(function(){
        /* Do something */
    });
});

Si vous êtes intéressé à l'optimisation des performances autour, vous devrez peut-être étudier la délégation de l'événement, en fonction de votre situation.

Un événement click est généré pour chaque élément DOM au sein du corps. L'événement se déplace du corps vers le bas à l'élément cliqué (sauf si vous utilisez Internet Explorer), frappe l'élément cliqué, puis des bulles de secours. L'événement peut être capturé soit par des attributs d'élément DOM, des gestionnaires d'événements dans le script, ou des attributs à l'un des niveaux parents (l'événement bouillonnants ou de capture déclencheurs cela).

J'imagine qu'ils viennent mettre dans un fichier .js. Facile à faire avec jQuery par exemple avec $ (document) .ready () par exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top