Показать сообщение отдельно
  #4 (permalink)  
Старый 26.05.2016, 23:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Функция проверки наличия обработчика события на элементе
RioEiner,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css"></style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

  <script>
$(function() {
    var $body = $("body");
    $body.on("keydown", move);
    function move() {
        alert("test")
    }

    function test(elem, event, fun)
    {
     var events = $._data(elem, "events");
     return !!events && !!(events = events[event]) && (!fun || events.some(function(data) {
        return data.handler == fun
    }))
    }
    alert(test($body[0],"click"));//false кликов нет
    alert(test($body[0],"keydown"));//true есть  keydown
    alert(test($body[0],"keydown", move)); //true есть  keydown и в  keydown есть функция move
    alert(test($body[0],"keydown", test)); //false есть  keydown но в  keydown нет функция test
    $body.off();
    alert(test($body[0],"keydown", move));//false нет  keydown или в  keydown нет функция move
    $body.on("keydown", move);
    alert(test($body[0],"keydown", move)); //true есть  keydown и в  keydown есть функция move
});
  </script>
</head>

<body>


</body>
</html>
Ответить с цитированием