2010-06-06 5 views
8

Fondamentalement, je veux traduire ce qui suit dans Smalltalk Mer:Comment accéder à l'objet événement jQuery dans un rappel Mer

$(".myDiv").bind('click', function(e) { 
    console.log(e); 
}); 

plus que je ne veux pas console.log l'événement, mais l'accès dans mon rappel ajax.

L'approche la plus prometteuse semblait être quelque chose comme

html div 
    onClick: (html jQuery ajax callback: [:v | self halt] value: (???); 
    with: 'Foo'. 

Mais je ne pouvais pas trouver un moyen d'accéder à l'événement qui a causé le rappel. Intuitivement, je voudrais essayer

html jQuery this event 

pour la partie ???, mais l'emballage Seaside ne sait jQuery aucun message qui se rapproche de event.

Toute aide est appréciée. Il doit être loin pour accéder aux données d'événement ...

+0

Wow. Félicitations à celui qui a rabaissé cette question bien reçue après un an sans même prendre la peine de commenter. Grandir! – Leo

Répondre

8

Pour sérialiser la souris coordonnée x de l'événement en utilisant le code suivant:

html div 
    onClick: (html jQuery ajax 
     callback: [ :x | x inspect ] 
     value: JQEvent new pageX); 
    with: 'Click'. 

Il y a d'autres propriétés de l'objet de l'événement que vous pourriez être intéressé, il suffit de les sérialiser avec la même requête AJAX en ajoutant plusieurs constructions callback:value: dans une cascade.

Dans le tout dernier code JQuery, vous pouvez utiliser html jQuery event pour créer l'objet événement. Cela manquait jusqu'à maintenant.

+0

Merci pour votre réponse. JQEvent semble être manquant. Ma version jQuery Core est jf.87 - est-ce un problème de version ou que pourrais-je faire de mal? – Leo

+0

Je suis à lr.106. Vous pouvez essayer de charger le dernier code, mais pas de garantie que cela fonctionne. Il semble qu'il y ait une nouvelle version de Seaside à venir bientôt. –

+0

J'ai essayé de le faire, mais cela ne fonctionne pas (du moins quand je ne mets à jour que jQuery Core et ses dépendances directes). Pouvez-vous dire quoi que ce soit dans combien de temps cela sera? Nous sommes sur un calendrier serré, malheureusement ... – Leo

Questions connexes