对于 jqueryui 上列出的默认可拖动:
http://jqueryui.com/draggable/
什么决定了当前被拖动项目的位置?
我在 IE8 中遇到一个问题,当我开始拖动被拖动的项目时,它会出现在不同的高度。
以下是正常行为,鼠标图标绘制为蓝色以显示拖动项目时的正确位置:
但是在 IE8 中,一旦我开始拖动,被拖动的项目就会出现在不同的高度。 注意蓝色鼠标图标绘制得很糟糕:
被拖动项目的高度偏移和鼠标指针位置取决于整个页面的当前滚动位置。因此,我向下滚动页面的次数越多,可拖动项相对于鼠标指针的显示就越高。
什么可能导致此行为?我无法使用小代码片段重新创建它。此行为发生在大型代码库中,这使得重新创建变得困难。
最佳答案
这对我有用。项目本身和被拖动的项目之间的偏移差异与页面的滚动量相同,因此我只需将滚动值添加到 ui.position.top :
函数 msieversion
返回 Internet Explorer 版本。
drag: function(event,ui){
/**
* This issue just occurs on IE8
* issue : if page has been scrolled down any item which is dragged appears
* at a different position than item dragged
**/
if((msieversion() <= 8.0) && (document.documentElement.scrollTop > 0)){
ui.position.top += document.documentElement.scrollTop;
}
}
关于javascript - IE8 中奇怪的可拖动行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25622662/