Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как правильно загрузить через framework (https://javascript.ru/forum/jquery/34584-kak-pravilno-zagruzit-cherez-framework.html)

Mateus 11.01.2013 02:17

Как правильно загрузить через framework
 
Доброй ночи.
При загрузке через framework, некоторые объекты начинают игнорировать jquery. Т.е. если на страницу зайти напрямую, то, к примеру, по клику проходит действие, но если загрузить страницу через framework, то перестает реагировать.

К примеру, на странице index.php по клику на :
<input class="color">
Открывается окошко с выбором цвета ( Color picker ),
Но на другой странице, которую загружаю используя framework, данный импут является обычным импутом.

Как загрузить страницу через framework, чтобы корректно работал jquery?
Заранее спасибо. Надеюсь сумел донести мысль.

Deff 11.01.2013 02:27

Mateus,
Событийные действия для подгружаемых элементов на jquery нужно проводить не через (К примеру для .сlick)
строку:

$("#foo").сlick(function(){ Заменить на => $("#foo").on('сlick', function(){
Либо на
$("#foo").live('сlick', function(){

http://jquery.page2page.ru/index.php5/On Прямая и делегированная обработка

Mateus 11.01.2013 02:30

Т.е. единственный вариант, это заменить
$(document).ready(function(){

на "повесить" событие на клик?

Deff 11.01.2013 02:32

Mateus,
Нет - меняем только событийные строки участвующие в действиях на подгружаемом контенте
Вот методы событий http://jquery-docs.ru/Events/

Mateus 11.01.2013 19:57

Могли бы помочь с аккордеоном? При загрузке страницы прячутся все параграфы, по клику они выезжают. Как тогда изменить первую строку?

$(document).ready(function(){
$(".accordion p").hide();
$(".accordion h3").click(function(){
$(this).next("p").slideToggle("fast")
.siblings("p:visible").slideUp("fast");
$(this).toggleClass("selected");
$(this).siblings("h3").removeClass("selected");

});
});

Deff 11.01.2013 20:08

Поправил(*Не уверен про красную строку, посколь она злодействует при подгрузке главной, (почему бы не поставить первоначальное скрытие через css ?
Цитата:

$(document).ready(function(){
$(".accordion p").hide();
$(".accordion h3").on('click',function(){
$(this).next("p").slideToggle("fast")
.siblings("p:visible").slideUp("fast");
$(this).toggleClass("selected");
$(this).siblings("h3").removeClass("selected");

});
});


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