Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как отловить blur в Mozilla Firefox? (https://javascript.ru/forum/misc/48078-kak-otlovit-blur-v-mozilla-firefox.html)

рони 19.06.2014 00:02

Как отловить blur в Mozilla Firefox?
 
Смотреть в Firefox -- кликнули на селект потом на body -- blur несработал - но опционы спрятались -- второй клик на body - blur сработал - как отловить с первого клика что мы ушли с селекта?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<select  onblur="alert(123)">
                <option value='Один'>Один</option>
                <option value='Два'>Два</option>
                <option value='Три'>Три</option>
              </select>
</body>

</html>

Octane 19.06.2014 00:16

с первого клика фокус с селекта не переходит никуда, значение можно выбирать с клавиатуры

можно попробовать по клику на боди выполнять что-нибудь типа
document.activeElement.blur()

рони 19.06.2014 00:33

Octane,
а типа нет никакого клика на боди :( тока второй срабатывает

BETEPAH 19.06.2014 01:15

а mousedown? тоже нет?

рони 19.06.2014 01:22

BETEPAH,
поверял и mousedown

depp 19.06.2014 04:43

как-то так.
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>

<select  id="select">
                <option value='Один'>Один</option>
                <option value='Два'>Два</option>
                <option value='Три'>Три</option>
              </select>
</body>

<script type="text/javascript">
var select = document.getElementById("select"),
    select_open = false;

select.onclick = function() {
    select_open = !select_open ? document.addEventListener('mouseup', waitForCloseClick, false)||true : false;
}
select.onmouseup = function(e) {
    e.stopPropagation();
}

function waitForCloseClick() {
    alert(123);
    document.removeEventListener('mouseup', waitForCloseClick, false);
    setTimeout(function(){
        select_open = false;
    },1);
}
</script>
</html>

рони 19.06.2014 10:55

depp,
:dance: :thanks: замечательно!!!


Часовой пояс GMT +3, время: 13:46.