问题
Basically, I want to translate the following into Seaside Smalltalk:
$(".myDiv").bind('click', function(e) {
console.log(e);
});
Besides that I don't want to console.log
the event, but access it in my ajax callback.
The most promising approach seemed to be something like
html div
onClick: (html jQuery ajax callback: [:v | self halt] value: (???);
with: 'Foo'.
But I couldn't find any way to access the event that caused the callback. Intuitively, I would try
html jQuery this event
for the ???
part, but the Seaside jQuery wrapper doesn't know any message that comes close to event
.
Any help is appreciated. There has to be away to access the event data...
回答1:
To serialize the x mouse coordinate of the event use the following code:
html div
onClick: (html jQuery ajax
callback: [ :x | x inspect ]
value: JQEvent new pageX);
with: 'Click'.
There are other properties in the event object that you might be interested in, just serialize them with the same AJAX request by adding multiple callback:value:
constructs in a cascade.
In the very latest JQuery code you can use html jQuery event
to create the event object. This was missing up to now.
来源:https://stackoverflow.com/questions/2984682/how-to-access-the-jquery-event-object-in-a-seaside-callback