JQuery объяснение на document.ready - PullRequest
       12

JQuery объяснение на document.ready

1 голос
/ 10 августа 2009

У меня есть вопрос, будет ли событие click или любое другое событие выполняться в document.ready () в первый раз? Я имею в виду, достигнет ли это после загрузки элементов DOM в комментарий, не щелкая первый раз? :)

$(document).ready(
  $(#foo).click( 
   function()
    {
       // "It reached here after DOM is loaded!"
    }
  )
)

Ответы [ 3 ]

4 голосов
/ 10 августа 2009

document.ready срабатывает, когда DOM полностью загружен, поэтому вы будете правы.

Событие 'click', однако, не сработает, если не щелкнуть связанный элемент или Событие click явно вызывается с помощью click () или Events / trigger :

$('#foo').click();
$('#foo').trigger("click");

Вы прочитали страницу руководства для document.ready? См:

http://docs.jquery.com/Tutorials:Introducing_$(document).ready()

3 голосов
/ 10 августа 2009

Нет, функция не будет выполнена.

Есть несколько ошибок:

$ (document) .ready () принимает функцию в качестве аргумента. '#foo' также должен быть строкой.

$(document).ready(function() {
  $('#foo').click( 
   function()
    {
       // "It reached here after DOM is loaded!"
    }
  )
})

Если вы хотите, чтобы функция была оценена хотя бы один раз, после загрузки DOM. Тогда, вероятно, самый простой способ - назвать вашу функцию.

например:

$(document).ready(function() {
  $('#foo').click( 
   function myfunction()
    {
       // "It reached here after DOM is loaded!"
    }
  );
  myfunction();
})

Если вам нужно, чтобы функция выполнялась в области $ ('# foo'), вы можете сделать это с помощью метода Function.call ().

например:

$(document).ready(function() {
  $('#foo').click( 
   function myfunction()
    {
       // "It reached here after DOM is loaded!"
    }
  );
  myfunction.call($('foo'));
})

Это сделало бы его поведение более похожим на то, как оно было вызвано событием DOM. Я уверен, что JQuery имеет особый метод запуска события, зарегистрированного через его функции событий DOM. Это также было бы возможностью использовать это, поскольку это, вероятно, также эмулировало бы Объект события, переданный "myfunction".

0 голосов
/ 10 августа 2009

Чтобы обобщить вопрос, события JavaScript обрабатываются путем связывания типа события (onclick, onkeyup, onfocuse и т. Д.) С функцией (или несколькими функциями). Функция, конечно, анализируется, но не оценивается, пока не произойдет соответствующее событие. Кроме того, «функция» в этом контексте часто упоминается как обработчик события или обратный вызов события .

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