Hi, I would like to do mouse tracking with tapestry (know the coordinates of the mouse, the path of the DOM tree to the element that is being pointed and the text of that element).
Currently I have a solution that works, but I think it is terribly inefficient and I hope you can make any suggestions to improve it. I have a JS library that calculates all those values and writes them to "input hidden" form fields in my .tml Then I used the ZoneUpdater mixin: http://jumpstart.doublenegative.com.au/jumpstart/examples/ajax/onevent I modified ZoneUpdater.java by adding a List attribute. That list will contain the ids of the "input hidden fields" as you can see below. Then, in the TML file, instead of |<input t:type="TextField" t:id="firstName" t:mixins="zoneUpdater" t:clientEvent="keyup" t:event="firstNameChanged" t:zone="nameZone" /><br/>| I have <p class="paragraph" t:type="any" t:mixins="zoneUpdater" ZoneUpdater.clientEvent="mousemove" ZoneUpdater.event="track" ZoneUpdater.zone="textZone" ZoneUpdater.fields="['documentHeightVal', 'documentWidthVal', 'windowHeightVal', 'windowWidthVal', 'windowOffsetYVal', 'windowOffsetXVal', 'mouseYVal','mouseXVal', 'domPathVal', 'overTextVal']">${currentParagraph}</p> then in zone-updater.js I add all those values to the URL. Finally, in my page file, the onTrack() method is executed. The problem here is that onActivate() is also being exectued, and onActivate() has a lot of stuff that I want to execute only once (when the page loads) and not every time the user moves the mouse. Is there any other solution that does not trigger onActivate() every time that the user moves the mouse on a component? Regards, Phy.