JavaScript / jQuery замена кода YUI - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь найти замену утилите событий YUI. Текущий код YUI:

YAHOO.util.Event.onAvailable('elementId', function(){}

Альтернативы, которые я пробовал

$(document).ready(function(){}

1 Ответ

0 голосов
/ 31 мая 2019

Довольно просто, но это сработает, чтобы заменить то, где вы ждете.

Возможно, лучше отслеживать мутацию DOM, чем просто проверять каждые 40 миллисекунд.

// This is dummy code, will add an element after 3secs
setTimeout(() => {
  const div = document.createElement('div');
  div.classList.add('the-div'); 
  div.innerText = 'I have arrived!';
  document.querySelector('.container').appendChild(div);
}, 3000);

// This is the method.
const ready = (cssSelector, func) => {
  // Try and get our element.
  const el = document.querySelector(cssSelector);
  if(el) {
    // If we find it, execute the callback
    func(el);
  } else {
    // Not there yet.
    setTimeout(() => ready(cssSelector, func), 40);
  }
}

ready('.the-div', (el) => {
  console.log(el);
  document.querySelector('.notify').innerText = 'Found our element!';
});

// Not for me, but :)
document.whenAvailable = ready;
document.whenAvailable('.the-div', () => console.log('Another Way!!'));
<div class="container"></div>
<div class="notify">Waiting</div>

Работа с MutationObserver может быть действительно хорошим вариантом здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...