我有一个chrome应用程序,我通过css类将-webkit-app-region: drag;
添加到div
中,使整个窗口可以拖动:
示例:
<style>
draggable {
-webkit-app-region: drag;
}
</style>
<div class='draggable'>
hello world
</div>
问题是我无法通过从div
中删除draggable
类来禁用拖动(例如通过jQuery或chrome调试器(。除了这是一个潜在的错误之外,还有什么解决办法可以阻止div
使应用程序窗口可拖动吗?
仅供参考:我在Chrome(34.0.187.116(、Chrome Beta(35.0.1916.69(、Chrome Canary(36.0.1964.2(上检查过这一点,它们都有相同的行为。操作系统:MacOS X 10.9.2
我目前正在构建一个电子应用程序(以前是原子壳层(。在回答你的问题时,我找到了解决这个问题的方法,就像其他任何事情一样,答案真的很简单。
以这个例子作为我的例子和解决方案:
1( 您的问题是div块中的任何内容(包括div(都是可拖动的,并且您会失去一些功能(例如,单击其中包含的链接(,对吗?
<div style='-webkit-app-region:drag'>...</div>
如果你想让你的锚在拖动区域内:
<div style='-webkit-app-region:drag'>
<a href='index.html'>...</a>
<a href='about.html'>...</a>
</div>
成为可点击的,你所需要做的就是像你说的那样:
我无法禁用拖动
禁用拖动。。。这是证明它的代码。
<a style="-webkit-app-region: no-drag;" href="index.html">...</a>
该元素不仅具有停止拖动功能,还允许您点击webkit阻止的事件。
我找到了一个解决方法。通过display: none
隐藏div
,可以禁用可拖动功能。
只需在这些特定元素上使用规则-webkit-app-region:no-drag
及其所有
-webkit-app-region:no-drag
不起作用,所以我刚刚创建了另一个div.drag-overlay-div{position:absolute; z-index:1000; -webkit-app-region:no-drag}
,现在正在激活/停用它。使用display:none/display:block
拖动覆盖div