如何实时获取元素的位置

时间:2011-02-15 15:32:09

标签: jquery smalltalk seaside

我需要实时获得div的位置,我正在尝试以下方法:

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

不幸的是它不起作用,成绩单显示:'a JQueryInstance($(this).position())'

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

试试这个:

 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这个位置将评估一个永远不会到达客户端的脚本文本,因为它没有写入文档。相反,只要触发回调,它就会被写入Transcript。要将脚本发送到客户端,请使用callback:json:方法,该方法执行作为参数传递给json:的脚本,使用ajax将结果传回Seaside,然后使用提交的值触发回调。