2012-06-13 2 views
0

Я создаю ссылку в файле javascript, который успешно работает при загрузке. Проблема заключается в том, что когда кто-то нажимает на ссылку, JQM не загружает ее с помощью AJAX, а загружает ее на новую страницу. Я не понимаю, почему это происходит.JQuery mobile не загружает ссылки ajax

Вот HTML для ссылки:

boxText.innerHTML = "<a href='../home-details/index.php?id=" + home_id + "' class='infowindow'>" + address + "<div class='infowindow-arrow'></div></a>"; 

Вот поток страниц: Главная страница -> страница Карта, которая делает маркеры при загрузке страницы. Маркеры имеют infowindows, у которых есть ссылка как контент. Они также загружаются при создании маркеров. Ссылка Infowindow не загружается с использованием AJAX.

ответ

0

Можете ли вы опубликовать то, что вы видите в инспекторе? JQuery будет динамически быть применяя классы и такие, как описано в документации:

http://jquerymobile.com/demos/1.1.0/docs/pages/page-links.html

Linking без Ajax ссылки, которые указывают на другие домены или которые имеют отн = «внешний», данных- ajax = "false" или целевые атрибуты не будут загружаться с помощью Ajax. Вместо этого эти ссылки вызовут полное обновление страницы без анимированного перехода. Оба атрибута (rel = «external» и data-ajax = «false») имеют одинаковый эффект, но при связывании с другим сайтом или доменом следует использовать другое семантическое значение: rel = «external», а data-ajax = false "полезно для простого выбора страницы в вашем домене из-за загрузки через Ajax. Из-за ограничений безопасности структура всегда выбирает ссылки на внешние домены из поведения Ajax.

+0

Я взглянул на использование инспектора, и ссылки не были обернуты ничем из jQuery mobile, а просто карты google. Есть ли способ прослушать событие click и получить jquery mobile для его загрузки с помощью ajax? Я считаю, что это сработает. – bmilleker

+0

Вот скриншот, потому что копирование из инспектора является грубым: http://grab.by/e9w0 – bmilleker

0

Разве только динамически созданные ссылки делают полную перезагрузку?

Если нет, то jQM IS использует AJAX. Вы видите новый адрес в строке url, потому что вы, вероятно, используете браузер, поддерживающий метод pushstate (webkit, mozilla). jQM - это загрузка AJAX страницы, а затем изменение адреса в строке URL без фактической загрузки страницы.

Вы можете проверить это, открыв страницу в IE9. Он еще не поддерживает pushstate, поэтому вы получите URL-адрес хэштега, которого вы ожидаете.

Вы можете изменить это поведение, установив опцию jQM pushStateEnabled на номер false.

+0

Его использование ajax из индекса на страницу карты. Но ссылки на странице карты выполняют загрузку с использованием ajax. – bmilleker

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