<div style="width: 100px; height: 25px; position: relative;">
<input type="button" style="width: 100px; height: 25px;" onclick="alert(1);" value="Input"/>
<div style="top: 0px; left: 0px; bottom: 0px; right: 0px; position: absolute; background-color: #000000; opacity: 0.3;"></div>
</div>
<br/>
<div style="width: 100px; height: 25px; position: relative;">
<button style="width: 100px; height: 25px;" onclick="alert(1);">Button</button>
<div style="top: 0px; left: 0px; bottom: 0px; right: 0px; position: absolute; background-color: #000000; opacity: 0.3;"></div>
</div>
Когда я нажимаю на первую кнопку (‹input›) в Opera 11.01, кнопка не нажимается, потому что следующий ‹div› перекрывает ‹input›. Но если я нажимаю вторую кнопку (‹button›), она визуально нажимается (событие OnClick не вызывается). Такое поведение наблюдается только в Opera, в Firefox и Chrome поведение нормальное - кнопки не нажимаются. Что случилось?
Обновлено: Поведение:
- Нажмите на первую кнопку в Chrome. Не кликабельно, предупреждение не появляется. Правильно;
- Нажмите на вторую кнопку в Chrome. Не кликабельно, предупреждение не появляется. Правильно;
- Нажмите на первую кнопку в Opera. Не кликабельно, предупреждение не появляется. Правильно;
- Нажмите на вторую кнопку в Opera. Кнопка визуально нажата(!!) - стиль кнопки изменился на состояние "нажато", предупреждение не появляется. Неправильно. Кнопку нельзя нажимать, так как она заблокирована div. Поведение должно совпадать с первой кнопкой;
alert()
. - person Blender   schedule 10.04.2011