Возможный дубликат:
Отключить событие двойного щелчка для элемента в Opera
У меня проблема с браузером Опера. Это только тот, который отображает контекстное меню при двойном щелчке левой кнопкой мыши/выборе. У меня есть страница с пустыми div (фоновые изображения). Они перехватывают события щелчка и контекстного меню, и щелчок работает нормально, когда вы нажимаете медленно. Если вы нажмете в два раза быстрее, текст будет выбран. Я заметил, что, вероятно, основной причиной этого является использование 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, если это возможно.