我有一个附有可移动元素的div。 div内有一个按钮列表,附有一个滚动条。当我尝试拖动滚动条时,只需将整个div拖动到屏幕上即可。在这个代码片段中,当我点击滚动条(这是metL的一部分)时,我试图让关闭的可移动。
我有“metId”,它在div设置的其他地方继续拖动div。
暂停和恢复不起作用。
解决问题的任何帮助都会有所帮助,谢谢。
答案 0 :(得分:-1)
如果没有看到包含所有相关元素结构的html标记,那么很难回答这个问题。甚至可能有更好的方法去做你想要完成的事情。不过,我指出了一个可能的问题:
当dojo在拖动句柄上注册dragstart
,mousedown
或selectstart
事件时,拖放操作就会启动。在您的情况下,拖动句柄是ID为"divMenu"+threadId
的div。所有这些事件都会在click
事件发生前触发,因此暂停moveBlocker
无效。
另外我认为,你的moveBlocker事件不应该是一个空函数。相反,它应该主动“阻止”相关事件传播到拖动句柄:
var moveBlocker = on.pausable(dnd.handle, "mousedown,dragstart,selectstart", function(e) {
e.stopPropagation();
e.preventDefault();
});
根据您要完成的行为,其他事件处理程序也应在“mousedown”事件中注册。