Я постараюсь как можно яснее объяснить, что я пытаюсь сделать, и, надеюсь, люди смогут понять суть проблемы.
$(document).ready(function() {
$('body').on('click', '.mainNav', function() {
var href = $(this).attr('href');
$('body').load(href);
});
});
Это фрагмент кода, который вызывает у меня проблемы. По сути, предполагается, что он должен получить атрибут href из div, а затем загрузить его, чтобы заменить текущее содержимое тега body.
Это работает в первый раз, но когда новый контент создается через .load (), div перестает отвечать. Я новичок в JS, поэтому заранее прошу прощения, если ответ очевиден. Я пытался найти решение самостоятельно, но все, что я нахожу, говорит мне, что .on () должен работать для динамически генерируемого контента.
РЕДАКТИРОВАТЬ: не могу эмулировать проблему в скрипте, поэтому я отправляю pastebin со всей страницей индекса в надежде, что это прояснит проблему.
РЕДАКТИРОВАТЬ: Он работает с использованием решения adeneo. Весьма признателен всем за их вклад и извинения за то, что не опубликовали все с самого начала. Думаю, это сэкономило бы время всем.
.load
основан на Ajax, что означает, чтоhref
могут быть только URL-адресами, основанными на том же домене, что и сценарий. Это называется политикой одинакового происхождения. Может быть,href
этоhttp://google.com
. Это нарушит сценарий. - person Jonas G. Drange   schedule 05.08.2012html()
, а не методload()
. Это другое дело, так что это не доказательство. - person ErikE   schedule 05.08.2012<script>
теги для загрузки внешнего JS внутри<body>
? В частности, загружаете ли вы таким образом сам jQuery? Если это так, переместите jQuery внутрь<head>
, и проблема должна быть исправлена. - person Jon   schedule 05.08.2012href
? - person Purag   schedule 05.08.2012