0

可能重复:
禁用 Opera 中元素的双击事件

我的 Opera 浏览器有问题。它只是在双击左键/选择时显示上下文菜单的唯一一个。我的 div 页面是空的(背景图片)。他们已经挂钩了 click 和 contextmenu 事件,当您单击时 click 工作正常slow。如果您单击两次更快的文本会被选中。我观察到的可能主要原因是使用inline-block,只是因为将整体视为一行。这是示例代码:

<!doctype html>
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.8/dojo/dojo.js" data-dojo-config="async: 1"></script>
    </head>
    <body>
        <div style="display: inline-block;">
        <table>
            <tr>
                <th colspan="3">Header</th>
            </tr>
            <tr>
                <td></td>
                <td>
                <div id="test" style="height: 38px; width: 38px; background: red;">
                </div>
            </td>
            <td></td>
        </tr>
      </table>
    </div>
    <div style="display: inline-block;">
      <table>
            <tr>
                <th colspan="3">Header</th>
            </tr>
            <tr>
                <td></td>
                <td>
                <div id="test" style="height: 38px; width: 38px; background: red;">
                </div>
            </td>
            <td></td>
        </tr>
      </table>
    </div>
    </body>
</html>
<script type="text/javascript">
require(["dojo/dom", "dojo/on","dojo/domReady!"], function(dom, on) {
    on(dom.byId('test'), 'click', function() { /* do something here */ return false; });
});
</script>

是否可以防止它,留下inline-block?如果可能的话,我对 Dojo 的解决方案特别感兴趣。

4

1 回答 1

0

我怀疑这与您的代码以及 Opera 的默认设置无关。

这是一篇关于如何在双击时禁用上下文菜单的文章。显然,这并不能解决您的问题,因为它是您无法控制的客户端设置。

于 2012-10-15T12:35:01.080 回答