Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   правильное использование ready() (https://javascript.ru/forum/jquery/57778-pravilnoe-ispolzovanie-ready.html)

oxxy 19.08.2015 12:31

правильное использование ready()
 
Добрый день!

Сейчас у меня весь код выполняется в $(document).ready({...});

В целях оптимизации решил сделать так,чтобы часть методов выполнялись только при загрузки определенных элементов.

Например:


$('#project_list').ready(function(){

    var rez='';
    var url= 'index.php?r=site%2Fgetallpublishprojects';
    
   $.getJSON(url,function(data){
       
        //------------код//
    };


но обнаружил, что если такой код вставить в обертку
$(document).ready
,
то он срабатывает сразу,оказалось что если dom загружен то повторно ничего не работает,что в принципе логично,

Тогда по логике,
если код вытащить из $(document).ready, во так


$('#project_list').ready(function(){

    var rez='';
    var url= 'index.php?r=site%2Fgetallpublishprojects';
    
   $.getJSON(url,function(data){
       
        //------------код//
    };

$(document).ready({  //------------код//});

то все должно работать,я сейчас для примера так и сделал

но во такой код

$('#project_list').ready(function(){(alert('ready!')});
почему то срабатывает везде,причем если я вместо
#project_list
,напишу любой тег ,которого нет в DOM, все равно alert выводит сообщение.

Как можно реализовать выполнения кода только при загрузки определенных элементов?

рони 19.08.2015 12:44

oxxy,
Цитата:

Сообщение от oxxy
часть методов выполнялись только при загрузки определенных элементов.

так и ставьте запуск методов в то что грузит ваши элементы.

Rise 19.08.2015 13:23

oxxy, только на document метод ready может быть вызван:
Цитата:

The .ready() method can only be called on a jQuery object matching the current document, so the selector can be omitted.
jQuery API развивайся...

oxxy 19.08.2015 14:16

СпасибО!


Часовой пояс GMT +3, время: 07:33.