禁用icefaces数据表的onscroll事件

时间:2013-04-01 09:28:31

标签: jsf jsf-2 icefaces

我使用了ice:dataTable组件来显示数据,不知何故在目标div中有一个默认的onscroll事件,这对我没有任何意义,并且它给页面中的其他float元素带来了一些定位问题。我想禁用此操作,但我没有找到任何方法来控制它。

它调用了以下函数:

var input = document.getElementById('targetId'); clearTimeout(ice.pid); 
ice.pid = setTimeout(function() { 
    input.value =   
    document.getElementById('targetId_scroll').scrollTop;    
    window.iceSubmitPartial(null, input, event); 
}, 400); 

1 个答案:

答案 0 :(得分:0)

我遇到了与ICEFaces类似的问题,当我们升级JSF和ICEFaces版本时,最好的解决方案是更改标签: ice:dataTable 标记为 ace:dataTable ,以及 ice:列中的列到 ace:列。< / p>

但是,如果你没有升级ICEFaces版本,我猜你可以在代码的某些方面使用JavaScript或jQuery删除onscroll属性,例如:

document._getElementsByXPath("//div[contains(@onscroll,'scroll')]")[0].removeAttribute("onscroll")

这个不是一个好的,只是一个例子,因为你可以从其他表中删除滚动。

jQuery('.myClass div[id$="_scroll"]')[0].removeAttribute("onscroll")