2010-06-06 12 views
8

Básicamente, quiero traducir el siguiente en Mar Smalltalk:Cómo acceder al objeto de evento jQuery en una devolución de llamada Mar

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

Además de que no quieren console.log el evento, pero el acceso en mi rellamada ajax

El enfoque más prometedor parecía ser algo así como

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

pero no pude encontrar ninguna manera de acceder al evento que causó la devolución de llamada. Intuitivamente, intentaría

html jQuery this event 

para la parte ???, pero el envoltorio Mar jQuery no conoce ningún mensaje que se acerca a event.

Cualquier ayuda es apreciada. Tiene que estar lejos de acceder a los datos de eventos ...

+0

Wow. Felicidades a quien rechazó esta bien recibida pregunta después de un año sin siquiera molestarse en comentar. ¡Crecer! – Leo

Respuesta

8

para serializar la coordenada x del ratón del evento utilice el siguiente código:

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

Hay otras propiedades en el objeto de evento que usted puede ser interesado, solo serialícelos con la misma solicitud AJAX agregando múltiples construcciones callback:value: en una cascada.

En el último código de JQuery puede usar html jQuery event para crear el objeto de evento. Esto faltaba hasta ahora.

+0

Gracias por su respuesta. JQEvent parece estar perdido. Mi versión jQuery Core es jf.87 - ¿Es este un problema de versión o qué podría estar haciendo mal? – Leo

+0

Estoy en el lr.106. Puede intentar cargar el código más reciente, pero no hay garantía de que funcione. Parece que pronto habrá una nueva versión de Seaside. –

+0

Lo intenté, pero no funciona (al menos no cuando solo actualizo jQuery Core y sus dependencias directas). ¿Puedes decir algo qué tan pronto será esto? Estamos en un horario apretado, desafortunadamente ... – Leo

Cuestiones relacionadas