Как смоделировать событие onclickout с помощью JavaScript - PullRequest
0 голосов
/ 05 марта 2011

Я бы хотел как-нибудь определить с помощью javascript событие onclickout.Это то, что происходит, когда пользователь щелкает где-либо еще, чем этот элемент.Я пытался с onblur, но он просто не работает: /

Есть ли другой способ?Thx:)

Ответы [ 3 ]

3 голосов
/ 05 марта 2011

Здесь используется справка jQuery, но логика та же, если вы предпочитаете без нее.

$(document).mouseup(function(event) {
    var condition = $(event.target).parents(/* element_in_question */).length;
        if (condition == 0) {   // 0 means the event is not originated from the element in question
            // Do what you need to do
        }
    }
});
2 голосов
/ 05 марта 2011
document.getElementById('click').onclick = function(event) {
    event.stopPropagation();
}

document.onclick = function() {
    alert('click somewhere else');
}

jsFiddle .

Это отправит щелчок куда угодно (кроме #click) обработчику document.onclick, который вызовет alert().

0 голосов
/ 05 марта 2011

Вы можете установить переменную clickedin для обработчика щелчков элемента, а затем иметь обработчик щелчков для документа, который проверяет, является ли clickedin истинным, и, если это так, обрабатывает соответствующим образом.

Можетбыть лучшим способом для достижения той же цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...