2016-08-05 2 views
0

Я создаю приложение PhoneGap и хочу сохранить отдельный HTML-файл (_nav.html) для навигации и вызвать его в основных файлах с использованием .load().load() не включает Jquery эффектов

У меня есть Успешно это сделано, однако выпадающее меню больше не работает.

Нужно ли также включать файлы Jquery в файл _nav.html для раскрывающегося списка?

Я прошел через this, а также searched it on stackoverflow, но не смог получить ответ.

Примечание: в консоли нет ошибок.

Спасибо за ваше время.

EDIT: Ссылка: http://nikhilclasses.com/ok/ Ссылка на Nav: вид-источник: http://nikhilclasses.com/ok/external/_navigation.html

+0

Как, без кода? – eisbehr

+0

Ссылка добавлена ​​для вас, чтобы отсылать код .. спасибо.:) –

ответ

0

Это, вероятно, потому, что скрипты в вашем _nav.html в настоящее время раздели на JQuery. Согласно документации .load():

выполнения скриптов

При вызове .load() с использованием URL без суффикса выражения селектора , содержание передается .html() до того, как скрипты удалены. Это выполняет блоки скриптов перед их отбрасыванием. Если .load() вызывается с выражением выбора, добавленным к URL-адресу, , однако, скрипты удаляются до обновления DOM, и, таким образом, не выполняются. Пример обоих случаев можно увидеть ниже:

Здесь любой JavaScript, загруженный в #a в качестве части документа, успешно выполнит .

$("#a").load("article.html");

Однако, в следующем случае, скрипт блокирует в документе, который загружены в #b отрезаются и не выполняются:

$("#b").load("article.html #target");

Источник: http://api.jquery.com/load/

+0

Спасибо Альберту, однако я использую первый метод исполнения. Нужно ли включать все JQuery в _nav.html? –

+1

думаю нет. Но вы можете попытаться использовать функцию обратного вызова, чтобы реагировать на раскрывающееся меню после его загрузки в DOM. –

+0

Хорошо, Альберт попробует это; Я также обновил ссылки. Если вы можете что-то понять. Спасибо за ваше время. :) –

0

Получил решение. Разделяя его здесь для тех, кто имеет ту же проблему Мне пришлось включить javascript-коды внутри файла _navigation.html внизу.

$(document).ready(function(){ 

$('.deploy-sidebar').click(function(){ 
    //$(this).toggleClass('remove-sidebar'); 
    if(snapper.state().state=="left"){ 
     snapper.close(); 
    } else { 
     snapper.open('left'); 
    } 
    return false; 
    }); 
}); 

Включенный HTML-файл не смог прочитать запрос из родительского файла и, следовательно, проблему. Как только JQuery был включен в нижнюю часть. Все функции с меню начали работать.

Смежные вопросы