使用jQuery UI Draggable,如何在使用滚动条时避免拖动?

13
很久以前,我在我的应用程序中创建了一个对话框。对话框非常简单,采用绝对定位,在JavaScript的帮助下居中显示在屏幕上。
现在我已经将jQuery UI添加到应用程序中,但我不想使用jQuery UI的对话框,因为它们的工作方式不同。但是我使用jQuery UI使我的对话框可拖动,因为这很容易实现:
$('#dialog').draggable();

使用可拖动的方法有一个问题,如果我的对话框有滚动条,则会出现错误,因为它会拖动对话框。

是否有一种方法可以在使用滚动条时使对话框不被拖动?我注意到有一些方法可以避免元素被拖动,但滚动条不是元素。

谢谢

编辑:JSFiddle:http://jsfiddle.net/FGXnR/


你能在jsfiddle上制作一下这个行为吗? - hasser
1个回答

13
作为一种解决方法,您可以尝试使用handle选项,并仅通过不可滚动的部分使对话框可拖动。 (例如标题等。)

jsFiddle示例

另一个解决方案是@AlexFigueiredo指出的,它只涉及将内容/手柄包装在div以处理大小和滚动-这似乎阻止了单击事件被发送到手柄。

1
@AlexFigueiredo 这是一种非常好的方法,可以在不需要标题栏的情况下完成此操作。即使将其简化为以下内容,它似乎也能正常工作:http://jsfiddle.net/FGXnR/1/ - millimoose

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接