Разница между документами.addEventListener и окна.addEventListener?
при использовании PhoneGap, он имеет некоторый код JavaScript по умолчанию, который использует document.addEventListener
, но у меня есть свой собственный код, который использует window.addEventListener
:
function onBodyLoad(){
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("touchmove", preventBehavior, false);
window.addEventListener('shake', shakeEventDidOccur, false);
}
в чем разница и что лучше использовать?
2 ответа:
The
document
иwindow
разные объекты и у них есть несколько разных событий. ИспользуяaddEventListener()
на них прослушиваются события, предназначенные для другого объекта. Вы должны использовать тот, который на самом деле имеет событие, которое вас интересует.например, есть
"resize"
событиеwindow
объект, который не находится на
вы обнаружите, что в javascript, как правило, существует много различных способов сделать то же самое или найти ту же информацию. В вашем примере, вы ищете какой-то элемент, который гарантированно всегда существует.
window
иdocument
оба подходят (с небольшими отличиями).addEventListener () регистрирует один прослушиватель событий на одном цель. Цель мероприятия может быть один элемент в документ, сам документ, окно или XMLHttpRequest.
Так что пока вы можете рассчитывать на то, что ваша" цель " всегда будет там, единственная разница заключается в том, какие события вы слушаете, поэтому просто используйте свой любимый.