谷歌铬-如何禁用-webkit应用程序区域:拖动



我有一个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

最新更新