Как установить приоритет для готовых блоков DOM? - PullRequest
0 голосов
/ 10 июля 2019

Я хочу начать получать местоположение пользователя, если его / ее настройки активны. Таким образом, я проверяю, позволяет ли пользовательская настройка использовать GPS, тогда я проверяю флажок разрешения, используя jquery prop.

$(document).ready(function(){
  //using javascript I check if map settings is active then:
  enableGPS();
})

function enableGPS(){
  $(".activateGPS").prop( "checked", true );
}

Uising jquery prop Я ожидаю, что приведенный ниже код будет прослушивать и реагировать на изменения, но, похоже, он не работает. Это потому, что оба кода выше и ниже упакованы в DOM ready?

Как я могу отложить блок ниже, чтобы быть готовым к прослушиванию после блоков выше?

$(document).ready(function(){
    $('.activateGPS').change(function() {
        //Do something with coordinates
    })
})

Наконец, я должен сказать, что это пример кода. Пожалуйста, не объединяйте третий блок со вторым блоком. Я хочу знать, как обрабатывать готовые блоки DOM.

1 Ответ

0 голосов
/ 10 июля 2019

У вас есть 2 этапа для загрузки DOM в js DOMContentLoaded (в jQuery jQuery.ready) и window.onload

Событие DOMContentLoaded происходит в объекте документа для загруженной страницы.например:

 document.addEventListener("DOMContentLoaded", ready);

С событием window.onload в объекте окна срабатывает, когда загружается вся страница, включая стили, изображения и другие ресурсы.

Как отложитьБлок ниже, чтобы быть готовым к прослушиванию после блоков выше?

Вы можете прослушать событие первого блока, прослушивание второго, а затем третьего

$('#firstBlock').change(function(){
    // do your stuff..
    $('#secondBlock').change(function(){
        // do your stuff..
        $('#thirdBlock').change(function(){
            // do your stuff..
        });
    });
});  
...