Java richfaces树选择的AJAX延迟

Java richfaces树选择的AJAX延迟,java,ajax,jsf,richfaces,Java,Ajax,Jsf,Richfaces,我有一个JSF2应用程序,它使用RichFaces4树控件。树被设置为使用AJAX开关类型。在每次选择时,都会向服务器发出一个AJAX调用,以更新树的支持bean的选择值 单击节点时,单击与显示为选定节点之间存在延迟。文档中确实指出,使用这种方法可能会导致轻微的延迟,但我想知道为什么它不在发出AJAX请求之前更新节点的样式,这样用户就不会对是否已注册单击感到疑惑 我一直在试图找到一种在javascript onclick事件上更新节点的方法,但在跨度上我没有看到需要更改的id。还有人尝试过类似的

我有一个JSF2应用程序,它使用RichFaces4树控件。树被设置为使用AJAX开关类型。在每次选择时,都会向服务器发出一个AJAX调用,以更新树的支持bean的选择值

单击节点时,单击与显示为选定节点之间存在延迟。文档中确实指出,使用这种方法可能会导致轻微的延迟,但我想知道为什么它不在发出AJAX请求之前更新节点的样式,这样用户就不会对是否已注册单击感到疑惑

我一直在试图找到一种在javascript onclick事件上更新节点的方法,但在跨度上我没有看到需要更改的id。还有人尝试过类似的东西吗?我是否必须找到父div并向下工作到第二个跨度?肯定有更好的办法吗


请注意,使用客户机交换机类型不是一个选项,因为我们需要能够动态查询子节点。在这种情况下,一次性构建整个树是不现实的,因此必须是服务器或Ajax。

回答了我自己的问题,这与我的无客户机切换规定有一点矛盾

因为我们使用的是RichFaces 4,所以我可以指定树节点扩展应该使用ajax,允许延迟填充树,并且选择应该仅限于客户端。然而,我们仍然需要将当前选择状态存储在树的支持bean中。为此,我在页面中添加了一个a4j:jsf函数

<a4j:jsFunction name="onSelection">
    <a4j:param name="param1" assignTo="#{treeBean.selectedNodeID}"  />    
</a4j:jsFunction>
通过这种方式,树可以在不等待ajax请求完成的情况下进行可视化更新,并且用户感觉非常快捷

唯一的问题似乎是,onmousedown事件也是在单击切换时触发的,因此展开节点会导致选中它而不更新其样式。不幸的是,onselected似乎没有在当前的里程碑构建中实现

onmousedown="onSelection('#{node.id}')"