2016-02-27 69 views
1

我看到Orbeon支持多個extension events,但標準UI事件如mousemoveselect的情況如何?我如何得到this XForms demo這個例子,它直接從<xf:action ev:event="mousemove">調用mousemove,在Orbeon工作?Orbeon形式的UI事件

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://www.w3.org/1999/xhtml" 
    xmlns:xf="http://www.w3.org/2002/xforms" 
    xmlns:ev="http://www.w3.org/2001/xml-events"> 
    <head> 
     <title>Mouse Events in XForms</title> 
     <model xmlns="http://www.w3.org/2002/xforms"> 
      <instance id="style"> 
       <data xmlns=""> 
        <mouse> 
         <x>0</x> 
         <y>0</y> 
         <state>up</state> 
        </mouse> 
       </data> 
      </instance> 
     </model> 
    </head> 

    <body> 
     <group class="crop" xmlns="http://www.w3.org/2002/xforms"> 
      <label>Move mouse here</label> 
      <action ev:event="mousemove"> 
       <setvalue ref="mouse/x" value="event('clientX')"></setvalue> 
       <setvalue ref="mouse/y" value="event('clientY')"></setvalue> 
      </action> 
      <action ev:event="mousedown"> 
       <setvalue ref="mouse/state">down</setvalue> 
      </action> 
      <action ev:event="mouseup"> 
       <setvalue ref="mouse/state">up</setvalue> 
      </action> x: <output ref="mouse/x"></output> y: <output 
       ref="mouse/y"></output> state: <output ref="mouse/state"></output> 
     </group> 
    </body> 
</html> 

回答

1

Orbeon Forms不支持mousemoveselect。一個原因是Orbeon Forms的大腦目前駐留在服務器上。預計鼠標事件會非常具有互動性,並且在中間服務器往返時效果不佳。

在將來的某個時候,隨着更多的Orbeon表單代碼被帶到客戶端,這可能會改變。同時,高度交互的代碼必須用JavaScript(或其他客戶端語言)編寫。 Orbeon Forms中包含的幾個XBL組件使用JavaScript來達到這個目的。