пожалуйста, поместите весь свой javascript в отдельный файл .js. Отдельные данные (html), представление (css) и поведение (javascript, flash ...). Это облегчит обслуживание и масштабирование вашего приложения. Ваши и другие люди, которым однажды придется его поддерживать.
Что касается вашей проблемы: поскольку вы переключаете вкладки, к новому загруженному контенту не будет привязано никакого поведения. Зачем? когда вы впервые загружаете свою страницу и, таким образом, загружаете свой javascript, он будет применяться только к текущему состоянию DOM (структура html, если хотите). Когда вы нажимаете на другую вкладку, вы загружаете свой контент через ajax, чтобы страница не обновлялась, а это означает: к этому новому контенту не будет применен этот javascript, так как он был недоступен, когда javascript был запущен в первое место. Итак, у вас есть 2 варианта:
- вставьте этот javascript вместе с загруженным html (после него). Это плохая практика, но она работает.
- вы используете функцию jquery live () для привязки событий. Это правильный выбор.
С помощью live () поведения будут всегда присоединены к элементам DOM.
так вместо
$('#myel').bind('click',dothis());
вы делаете
$('#myel').live('click',dothis());
Таким образом, независимо от того, какая вкладка отображается, ее содержимое будет связано с функцией, без необходимости ее повторного подключения.