2013-06-25 2 views
5

Я пытаюсь понять события (такие как: click, keyPress ...) в js. Но когда я учился в Интернете, я видел, как много упоминалось о «событиях DOM». Итак, мой вопрос: js-события совпадают с событиями DOM? Если нет, в чем разница?В чем разница между событиями js и событиями DOM?

+3

Нет «официальной» вещи как «событие js», поэтому вам нужно будет объяснить, что именно вы имеете в виду, когда используете этот термин. События DOM можно прослушать через js. Данная js-библиотека может создавать собственную систему событий, чтобы уведомить другие части своего собственного кода о некоторых действиях. – jfriend00

ответ

0

Событие представляет собой систему, в которой выполняются определенные действия и их можно выполнять. Например, нажатие на кнопку, зависание над некоторым полем, выбор текста или даже получение нового сообщения на определенном канале.

В js события DOM являются стандартными событиями, которые соответствуют действиям, выполняемым непосредственно над элементом в DOM, например, когда пользователь нажимает на что-либо, событие click (непосредственно соответствующее пользователю, нажав кнопку) запускается, и любое обработчики событий, прикрепленные к элементу. Вот список событий: https://en.wikipedia.org/wiki/DOM_events Они распознаются и поддерживаются браузерами и инициируются изначально.

Многие библиотеки js создают собственную систему событий над этими событиями DOM. Они обертывают элемент, который прослушивается, и когда инициируется событие, они передают событие функции обработки.

Они также могут поддерживать пользовательские события на DOM или любом другом объекте, когда пользователь вызывает определенную функцию, такую ​​как

obj.on("receive", function(){alert("Hello")}) 


//Later 
obj.trigger("receive") 

Таким образом, анонимная функция (отображение предупреждения) будет вызываться всякий раз, когда вы вызываете событие приема. Что происходит здесь, так это то, что функция on будет хранить список обработчиков, прикрепленных к объекту, и функция триггера вызовет их и вызовет их с использованием любых необходимых данных.

0

Dom События: Это событие выполнения на компоненте DOM для выполнения определенных действий над ним, как (события/свойства и т.д.)

Js События: Эти события будут выполнять действия по содержанию объекта DOM типа (валидации (условие), выражение, методы над объектом Dom и т. д.)

2

События DOM срабатывают, когда DOM изменяется или взаимодействует с пользователем, и это события Javascript. Просьба прочитать их все: http://www.w3schools.com/jsref/dom_obj_event.asp

Помимо событий DOM вы можете определить свои собственные объекты событий в Javascript и использовать метод dispatchEvent для запуска этого события. Например:

var event = new Event('build'); 

// Listen for the event. 
elem.addEventListener('build', function (e) { ... }, false); 

// Dispatch the event. 
elem.dispatchEvent(event); 

Короче говоря, вы можете думать о событиях DOM являются нативные события Javascript, что пожары из элементов DOM. Хотя событие Javascript может быть событием DOM или пользовательским событием

1

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

Есть другие события, которые не будут рассматриваться как события DOM, например:

  • ответа AJAX (onreadystatechange)
  • WebSocket полученного сообщения (MessageEvent)
  • LocalStorage данных изменились (storage)
Смежные вопросы