one

« Обратно к странице событий

one( тип, [данные], функция )

Назначает обработчик одному или более событиям для каждого совпавшего элемента, который выполняется единожды. Обработчик запускается лишь раз для каждого элемента. Обработчик события принимает объект event, который можно использовать для предотвращения поведения по умолчанию. Для остановки как действия по умолчанию, так и передачи события между элементами Ваш обработчик должен возвращать false.
В большинстве случаев Вы можете объявить Ваш обработчик события как безымянную функцию (см. первый пример). В случае, когда это невозможно, Вы можете передать дополнительные данные в качестве второго параметра ( и функцию обработчика в качестве третьего), см. второй пример.

Возможные события: blur, focus, load, resize, scroll, unload, beforeunload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error

Аргументы:

Тип Строка
Тип события.
данные (необязательно) Объект
Дополнительная информация
функция Функция
Функция.

function callback(eventObject) {
  this; // dom element
}
Примеры:

Связывание одиночного клика с каждым элементом div.

    var n = 0;
    $("div").one("click", function(){
      var index = $("div").index(this);
      $(this).css({ borderStyle:"inset",
                    cursor:"auto" });
      $("p").text("Div at index #" + index + " clicked." +
                  "  That's " + ++n + " total clicks.");
    });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){

    var n = 0;
    $("div").one("click", function(){
      var index = $("div").index(this);
      $(this).css({ borderStyle:"inset",
                    cursor:"auto" });
      $("p").text("Div at index #" + index + " clicked." +
                  "  That's " + ++n + " total clicks.");
    });

  });
  </script>

  <style>
  div { width:60px; height:60px; margin:5px; float:left;
        background:green; border:10px outset;
        cursor:pointer; }
  p { color:red; margin:0; clear:left; }
  </style>
</head>
<body>
  <div></div>
  <div></div>

  <div></div>
  <div></div>
  <div></div>
  <p>Click a green square...</p>

</body>
</html>
Отображение текста параграфа в сообщении alert после одного клика на каждом из них:
$("p").one("click", function(){
  alert( $(this).text() );
});
Name Type