Как получить позицию элемента в режиме реального времени - PullRequest
3 голосов
/ 15 февраля 2011

Мне нужно получить позицию div в реальном времени, и я пытаюсь сделать следующее:

html div
  id: 'square';
  script: (html jQuery new draggable 
    onStop: (html jQuery ajax 
      callback: [Transcript show: html jQuery this position])).

К сожалению, это не работает, расшифровка показывает: 'JQueryInstance ($ (this) .position ())'

Как правильно это сделать?

1 Ответ

2 голосов
/ 15 февраля 2011

Попробуйте это:

 html div 
   id: 'square'; 
   script: (html jQuery this draggable  
     onDrag: ((html jQuery script: 
     [:builder | builder <<  (builder jQuery get                                       
       callback: [ :value | Transcript show: (value at: 'top')@(value at: 'left')]
       json: (builder jQuery this position) ). 
     ]) asFunction: #(event ui)

В вашем коде html jQuery эта позиция будет оцениваться как текст сценария, который никогда не попадает в клиент, поскольку он не записан в документе.Вместо этого он записывается в стенограмму всякий раз, когда вызывается обратный вызов.Чтобы передать скрипт клиенту, используйте метод обратного вызова: json:, который выполняет скрипт, переданный в качестве аргумента json:, передает результат обратно в Seaside с помощью ajax, а затем запускает обратный вызов с переданным значением.

...