1

我使用了一个 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); 
4

1 回答 1

0

我在使用 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")
于 2017-02-08T18:50:40.577 回答