Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.02.2014, 19:21
Новичок на форуме
Отправить личное сообщение для javaquester Посмотреть профиль Найти все сообщения от javaquester
 
Регистрация: 27.02.2014
Сообщений: 3

Не работает js после динамической перезагрузки
Здравствуйте, проблема в том, что есть таблица, в некоторых элементах которой есть атрибуты onClick, когда эта часть таблицы перезагружается вместе с атрибутами - функции в onClick уже не работают, хотя до перезагрузки все хорошо. Подскажите решение. Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 27.02.2014, 20:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от javaquester
когда эта часть таблицы перезагружается вместе с атрибутами - функции в onClick уже не работают
Потому как у этих элементов нет тех событий...
Как вариант используй делегирование.
http://api.jquery.com/on/#on1
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2014, 23:43
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

javaquester, похоже ты чего-то путаешь:

<table>
    <tr><td onclick="alert('OK')">Клик ми</td></tr>
<table>
<script>
    // перезагружаем содержимое
    document.body.innerHTML = document.body.innerHTML;
</script>


Не наблюдаю проблем. Их и не должно быть.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 28.02.2014, 10:56
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Часть таблицы не может перезагрузиться. Я уже начал помаленьку понимать народный русский язык. У ТС скорее всего аяксом приходит кусок табли, которую он со всеми он-кликами как текст, хтмл, пихает в пагу и типа готово.
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2014, 16:47
Новичок на форуме
Отправить личное сообщение для javaquester Посмотреть профиль Найти все сообщения от javaquester
 
Регистрация: 27.02.2014
Сообщений: 3

Именно. Подскажете как добиться работоспособности? Произвольный код, типа alert() выполняет, а вот функцию упорно не видит.

Последний раз редактировалось javaquester, 28.02.2014 в 16:50.
Ответить с цитированием
  #6 (permalink)  
Старый 28.02.2014, 21:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от kostyanet
скорее всего аяксом
Не суть важно. Хоть аяксом, хоть хуяксом - это не имеет значения.
Сообщение от javaquester
а вот функцию упорно не видит
Какую? Ту что передается в куске HTML внутри тега <script> ? Ну тогда да, теги скриптов при вставке через innerHTML не исполняются.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 01.03.2014, 00:14
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от danik.js
Не суть важно. Хоть аяксом, хоть хуяксом - это не имеет значения.
Аналогичный хуякс обсуждают http://stackoverflow.com/questions/5...fter-ajax-load

Пишут надо профтыкать события по-новой после загрузки иннера в мозг браузера.

Одно непонятно, за каким вешать события на элементы таблицы? С одного щелчка по таблице выясняется вся подноготная через объект Event.

Найти урл оказалось не просто. Не косячит народ в таком хуяксе. Как-то обходятся без загрузки он-кликов с сервера в каше кодов.
Ответить с цитированием
  #8 (permalink)  
Старый 01.03.2014, 14:08
Новичок на форуме
Отправить личное сообщение для javaquester Посмотреть профиль Найти все сообщения от javaquester
 
Регистрация: 27.02.2014
Сообщений: 3

Сообщение от danik.js Посмотреть сообщение
Не суть важно. Хоть аяксом, хоть хуяксом - это не имеет значения.
Какую? Ту что передается в куске HTML внутри тега <script> ? Ну тогда да, теги скриптов при вставке через innerHTML не исполняются.
<a onclick="myFunction();"></a>
Пробовал вешать обработчик .On - без релоада - все ок, с - не работает.
Ответить с цитированием
  #9 (permalink)  
Старый 01.03.2014, 15:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от javaquester
не работает
<script>
    function myFunction(){
        alert('ok');
    }
</script>
<table>
    <tr><td onclick="myFunction()">Клик ми</td></tr>
<table>
<script>
    // перезагружаем содержимое
    document.body.innerHTML = document.body.innerHTML;
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS код некоректно работает со стилями zhaaskar Элементы интерфейса 14 13.02.2013 14:59
Вот пример кода на JS Он работает. А вот... Averin500 Events/DOM/Window 1 18.12.2012 22:45
Странно работает регулярка в JS _axl Общие вопросы Javascript 12 11.03.2011 23:39
После выполнения JS, CSS в IE не выполняеться Arfey Общие вопросы Javascript 11 08.09.2010 18:20
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 12:41