devote, у меня абсолютно то же данные. Win32 - это разрядность самой Оперы, а не Винды.
Deff, реально как-то обойти этот баг? |
Dimox,
Ну костыль мон приделать - ток смысл - может иначе построить ? |
По-другому никак, document.onclick обязательно нужен.
|
<!DOCTYPE HTML>
<html>
<head>
<style>
body{
width:100%;
}
</style>
</head>
<body style="padding-top:200px;width:100%;text-align:center">
<select name="" id="select">
<option value="">11111111111</option>
<option value="">22222222222</option>
<option value="" selected>33333333333</option>
<option value="">44444444444</option>
<option value="">55555555555</option>
</select>
<script>
document.getElementById('select').focus();
document.onclick = function(e) {if(Key){
alert('Сработало событие onclick!');
}}
var Key = true;
document.getElementById('select').onchange = function() {
Key = false; //Запрет onclick на время смены селекта
setTimeout('Key = true',40)
}
</script>
</body>
</html>
|
Большое спасибо!
|
Deff,
странный костыль, хотя можно было сделать проще:
<select name="" id="select">
<option value="">11111111111</option>
<option value="">22222222222</option>
<option value="" selected>33333333333</option>
<option value="">44444444444</option>
<option value="">55555555555</option>
</select>
<script>
document.onclick = function(e) {
if ((e&&e.target||{}).nodeName !== "OPTION") {
alert('Сработало событие onclick!');
}
}
</script>
|
devote,
Cам удивилсо - ксать проверил еще у трёх юзеров с ХР Ксать если ставить тестовый контент внутрь нормальной сайтовой обёртки - эффекта не наблюдаю (*Не голый тест Вот сюда ставил http://designforum.bestff.ru/ |
а еще лучше так:
<select name="" id="select">
<option value="">11111111111</option>
<option value="">22222222222</option>
<option value="" selected>33333333333</option>
<option value="">44444444444</option>
<option value="">55555555555</option>
</select>
<script>
document.addEventListener && document.addEventListener('keydown', function(e) {
if (e.target.nodeName === "SELECT") {
e.target._keypressed = true;
}
}, false);
document.onclick = function(e) {
if ((e&&e.target||{}).nodeName === "OPTION" && e.target.parentNode._keypressed) {
e.target.parentNode._keypressed = false;
return;
}
alert('Сработало событие onclick!');
}
</script>
|
|
Цитата:
|
| Часовой пояс GMT +3, время: 22:10. |