谷歌浏览器's滚动条和jQuery UI's的可拖动插件
Google Chrome's scrollbars and jQuery UI's draggable plugin
首先,示例:http://jsfiddle.net/Koviko/92PZZ/
在这里,我使用jQueryUI的draggable
插件来允许水平拖动容器。我还让第二个子元素包含了一个滚动条。问题是不同的浏览器对这个滚动条的使用方式不同。我已经在IE8以及Chrome和Firefox的最新稳定版本中进行了测试。
对于所需的行为,有两个测试用例:
- 在滚动条上按住鼠标并垂直移动,以及
- 点击并按住滚动条的鼠标并水平移动
第一个用例(垂直移动):
IE8和Firefox:没有问题。
Chrome:释放鼠标按钮后,移动鼠标将导致容器与鼠标光标一起拖动。释放容器需要将鼠标从滚动条上移开(在容器下方、外部),然后尝试拖动。
第二个用例(水平移动):
IE8:水平拖动不会导致任何移动。
Firefox:水平拖动会导致容器移动。
Chrome:水平拖动会导致容器移动,与垂直滚动一样,在释放鼠标按钮后不会释放拖动。它以同样的方式被清除。
因此,基本上,Chrome的行为就是问题所在。我会接受Firefox或IE8中的行为。有没有办法从Chrome中强制执行这种行为?
这在Fiddle中得到了演示:http://jsfiddle.net/FGXnR/
答案是这样的:使用jQueryUIDragable,使用滚动条时如何避免拖动?
基本上,使用handle:选项来指定要拖动的特定对象。
相关文章:
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 删除对HTML元素的拖动
- jQuery UI可排序-多连接列表拖动
- 禁用SVG拖动
- 旋转后拖动对象
- JQuery UI可拖动潜水与滚动棒到鼠标
- jsPlumb-拖动克隆而不进行复制
- 我想在不使用额外插件的情况下使用鼠标拖动来创建图像滑块
- Jquery 根据拖动的边缘调整插件最小宽度的大小
- JQUERY可排序插件,当可拖动元素悬停在指定的元素上时启动函数
- Jquery 可排序插件不允许在拖动元素时启动悬停功能
- jGravity(jQuery插件)在Firefox中没有拖动
- 谷歌浏览器's滚动条和jQuery UI's的可拖动插件
- 使用touch-punch插件在移动设备上拖动带有文本区域的jquery-ui-dialog
- jQuery Sortable插件对表格单元格收缩,同时拖动
- 拖放插件拖动HTML控件
- 在JQuery插件中拖动元素时禁用悬停、文本选择等功能
- 在jQuery中拖动网格时是否可以绑定调整事件大小?可拖动的插件
- 拖动,调整大小的jquery插件,支持触摸和手势
- 在firefox插件弹出窗口中禁用拖动任何对象