Как получить доступ к объекту события jQuery в обратном вызове Seaside - PullRequest
8 голосов
/ 06 июня 2010

В основном, я хочу перевести следующее в Приморский Smalltalk:

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

Кроме того, я не хочу console.log событие, но получить к нему доступ через мой обратный вызов ajax.

Самый многообещающий подход казался чем-то вроде

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

Но я не мог найти способ получить доступ к событию, вызвавшему обратный вызов. Интуитивно я бы попробовал

html jQuery this event

для части ???, но оболочка Seaside jQuery не знает ни одного сообщения, близкого к event.

Любая помощь приветствуется. Должен быть в стороне, чтобы получить доступ к данным события ...

1 Ответ

8 голосов
/ 06 июня 2010

Для сериализации координаты мыши по событию x используйте следующий код:

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

Существуют и другие свойства объекта события, которые могут вас заинтересовать, просто сериализуйте их с тем же запросом AJAX, добавив несколько конструкций callback:value: в каскад.

В самом последнем коде JQuery вы можете использовать html jQuery event для создания объекта события. Это отсутствовало до сих пор.

...