Что означает привязка к событию? - PullRequest
15 голосов
/ 13 июня 2011

Что означает привязка к событию?Я всегда сталкиваюсь с этим словом всякий раз, когда я ищу в Интернете, и что бы я ни пытался найти значение, оно все еще неопределенно для меня @ _ @ Некоторое время назад, читая некоторые блоги относительно JavaScript, я вижу людей, использующих это священное слово, которое я не могуухватить.

Ответы [ 4 ]

18 голосов
/ 13 июня 2011

Привязка к событию относится к сообщению браузеру, что при возникновении какого-либо «события» должна вызываться определенная функция. События в основном относятся к пользовательскому вводу, например, кликам.

Примером привязки к событию в jQuery может быть следующее:

$("#elem").bind("click", function() {
    alert("Clicked!");
});

Это связывает функцию с click событием объекта DOM с идентификатором elem. Когда пользователь щелкает по нему, появляется предупреждение (окно сообщения). Привязка выполняется путем вызова функции jQuery bind, но для этого есть другие способы (например, функция jQuery click в случае привязки к событию click).

13 голосов
/ 13 июня 2011

Когда вы связываете что-то с событием, оно срабатывает при запуске события. Это как приклеить туманный гудок к педали тормоза на твоей машине.

4 голосов
/ 13 июня 2011

Когда вы выполняете действие на веб-странице, оно вызывает событие. Это может быть что-то вроде:

  • Нажмите кнопку
  • Выберите значение из выпадающего списка
  • Наведите указатель мыши на элемент

Эти события могут быть записаны в вашем коде JavaScript.

Обычный (и часто переносимый) способ получения событий - это делать это на самом HTML-элементе (как показано в атрибуте onclick ниже)

<input id="MyButton" type="button" value="clickme" onlick="Somefunction()" />

Таким образом, когда пользователь нажимает кнопку, будет выполняться функция SomeFunction.

Тем не менее, считается лучшим подходом принять технику, называемую «поздняя привязка». Это гарантирует, что ваш HTML и JavaScript хранятся полностью отдельно.

Итак, мы можем изменить приведенный выше пример следующим образом:

document.getElementById("MyButton").onclick = function(){
   //functionality here
}

jQuery делает это еще проще:

$("#MyButton").click(function(){
    //functionality here
});
0 голосов
/ 13 июня 2011

Связывание в JS - это захват некоторых событий (таких как фокус, щелчок, перестановка и т. Д.) И выполнение некоторых других операций до начала фактического процесса.

Подробное объяснение:

http://triaslama.wordpress.com/2008/07/22/four-ways-javascript-binding-event-listeners/

http://api.jquery.com/bind/

...