我使用ice:dataTable组件来显示数据,不知何故,在目标div中有一个默认的onscroll事件,这对我来说没有任何意义,并且它给页面内的其他浮动元素带来了一些定位问题。我想禁用这个动作,但是我没有找到任何方法来控制它。
调用下面的函数:
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);
我在ICEFaces中遇到了类似的问题,当我们升级JSF和ICEFaces版本时,最好的解决方案是更改标签:ice:dataTable标签到ace:dataTable,其中的列从ice:column到ace:column。
但是,如果你没有升级ICEFaces版本,我想你可以使用JavaScript或jQuery在你的代码的某些点删除onscroll属性,如:
document._getElementsByXPath("//div[contains(@onscroll,'scroll')]")[0].removeAttribute("onscroll")
这不是一个好例子,只是一个例子,因为你可以从其他表中删除滚动
jQuery('.myClass div[id$="_scroll"]')[0].removeAttribute("onscroll")