2012-03-06 2 views
0

У меня проблемы с моим jquery. Я использую ajax для входа в мою учетную запись, в которой inturn запускает некоторый php, чтобы изменить несколько меню на основе заданного сеанса. Однако из-за того, что страница никогда не перенаправляется, но изменения содержимого, похоже, разбивают все jquery на странице, пока я не нажму «обновить», и все jquery снова отлично работает.Почему мой jquery загружается только после обновления страницы?

Как исправить эту проблему?

Я добавил части кода с отключающей вопросов в этой js fiddle

+1

использовать новые '$ («») селектор. На ('click', function() {' –

ответ

0

Ответ на это закончилось тем, что я не включил Accordian Jquery скрипт во внешний включаемый файл PHP, который засасывается.

0

Убедитесь, что вы используете live функцию JQuery в:

$(document).ready(function() { 

    // Do your AJAX here 
    $.ajax({ 
     // blah blah 
    }); 

    // Do the rest of your functionality here: 
    $('a.class_name').on('click',function() { 
     // Change stuff when you click this link 
    }); 

}); 
+2

.live() устарел, вы хотите .delegate() или .on() в зависимости от вашей версии jQuery. –

+0

@SurrealDreams хорошее место, спасибо – hohner

+0

@jamie, mate im not too litterate с jquery есть ли шанс на js скрипку? – Farreal

0

Согласно ответу Джейми выше. При использовании обработчиков событий, таких как щелчок, вы регистрируете обработчик событий только при загрузке начальной страницы. Любая последующая загрузка элементов страницы не будет зарегистрирована.

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

Посмотрите на this.

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